我在C#中使用EPPlus来读取Excel(.xlsx)文件。初始化完成如下:
var package = new ExcelPackage(new FileInfo(filename));
这很好但是有没有办法检查指定的filename
或package
是否实际上是一个有效的.xlsx文件?否则,在非Excel对象上操作时会出现异常,例如:如果用户意外打开.zip文件或其他。
答案 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
- 这意味着它已正确打开。