我正在使用C#中的EPPlus库来读取一个Excel(.xlsx)文件。初始化操作如下:
var package = new ExcelPackage(new FileInfo(filename));
这个方法可以成功实现,但是否有办法检查指定的 filename
或 package
是否是有效的 .xlsx 文件呢?否则在处理非 Excel 对象时就会出现异常,例如用户意外打开了一个 .zip 文件等。
您可以检查文件的扩展名:
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
代码块,那意味着它已经正确打开了。