2013-02-20 53 views
5

का उपयोग कर एक्सेल फ़ाइल है या नहीं, मैं एक्सेल (.xlsx) फ़ाइल पढ़ने के लिए सी # में ईपीप्लस का उपयोग कर रहा हूं। प्रारंभ इस तरह से किया जाता है:यह जांचना कि फ़ाइल वास्तव में ईपीप्लस

var package = new ExcelPackage(new FileInfo(filename)); 

यह ठीक काम करता है लेकिन वहाँ अगर निर्दिष्ट filename या package वास्तव में एक वैध .xlsx फ़ाइल है जांच करने के लिए किसी भी तरह से है? अन्यथा गैर-एक्सेल ऑब्जेक्ट पर चलते समय अपवाद होंगे, उदा। यदि उपयोगकर्ता गोपनीय रूप से .zip फ़ाइल खोलता है या नहीं।

उत्तर

3

आप अपनी फ़ाइल के विस्तार की जाँच कर सकते हैं:

string file = @"C:\Users\Robert\Documents\Test.txt"; 

string extenstion = Path.GetExtension(file); 

अद्यतन

मैं स्थिति है कि कुछ फ़ाइल EPPlus दस्तावेज में खुला नहीं किया जा सकता के लिए बदले मूल्यों के कुछ प्रकार पाया नहीं किया है, लेकिन आप excetptions को पकड़ने के लिए इस का उपयोग कर सकते हैं:

FileInfo fileInfo = new FileInfo(pathToYourFile); 

ExcelPackage package = null; 
try 
{ 
    package = new ExcelPackage(fileInfo); 
} 
catch(Exception exception) 
{ 
    ... 
} 

आप catch में नहीं हैं - thats मतलब यह था ओ सही ढंग से pened।

+1

हां, लेकिन यह पता नहीं लगाता कि फाइल एक बाइनरी तरीके से एक्सेल है, है ना? –

+1

@Robert - क्या आप इसे अपने कंप्यूटर पर जांच नहीं सकते? – MikroDel

+0

@Robert - या आपको लगता है कि द्विआधारी किसी भी विस्तार का सामना करते हैं?) – MikroDel