2013-02-20 37 views
5

我使用EPPlus在C#讀取一個Excel(.xlsx)格式文件的Excel文件。初始化是這樣完成的:檢查,如果文件實際上是使用EPPlus

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

這工作得很好,但有什麼辦法,以檢查是否指定filenamepackage實際上是一個有效的.xlsx文件?否則,在非Excel對象上操作時會有例外,例如,如果用戶偶然打開.zip文件或其他。

回答

3

您可以檢查文件的擴展名:

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

string extenstion = Path.GetExtension(file); 

更新

我還沒有找到某種對一些文件不能是EPPlus文檔中打開局面的返回值,但如果你是不是在catch

FileInfo fileInfo = new FileInfo(pathToYourFile); 

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

- 這就是意味着它是○:你可以用它來趕上excetptions正確佩戴。

+1

是的,但這並不如果文件是二進制方式的Excel,正確的檢測? – 2013-02-20 17:41:52

+1

@Robert - 你不能只是測試它在您的計算機上? – MikroDel 2013-02-20 21:55:25

+0

@Robert - 或者你認爲,那雙星還沒有任何擴展? ) – MikroDel 2013-02-20 21:56:07

相關問題