使用EPPlus检查文件是否确实是Excel文件

时间:2013-02-20 15:01:38

标签: c# excel epplus

我在C#中使用EPPlus来读取Excel(.xlsx)文件。初始化完成如下:

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

这很好但是有没有办法检查指定的filenamepackage是否实际上是一个有效的.xlsx文件?否则,在非Excel对象上操作时会出现异常,例如:如果用户意外打开.zip文件或其他。

1 个答案:

答案 0 :(得分:4)

您可以检查文件的扩展名:

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

string extenstion = Path.GetExtension(file);

更新

我没有找到某种类型的返回值,因为某些文件无法在EPPlus文档中打开,但您可以使用它来捕获例外情况:

FileInfo fileInfo = new FileInfo(pathToYourFile);

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

如果您不在catch - 这意味着它已正确打开。