我在C#中使用EPPlus来读取Excel(.xlsx)文件.初始化完成如下:
var package = new ExcelPackage(new FileInfo(filename));
Run Code Online (Sandbox Code Playgroud)
这工作正常但有没有办法检查指定filename或package实际上是否是一个有效的.xlsx文件?否则,在非Excel对象上操作时会出现异常,例如,如果用户意外打开.zip文件或其他.
您可以检查文件的扩展名:
string file = @"C:\Users\Robert\Documents\Test.txt";
string extenstion = Path.GetExtension(file);
Run Code Online (Sandbox Code Playgroud)
更新
对于某些文件无法在 EPPlus 文档中打开的情况,我还没有找到某种返回值,但是您可以使用它来捕获异常:
FileInfo fileInfo = new FileInfo(pathToYourFile);
ExcelPackage package = null;
try
{
package = new ExcelPackage(fileInfo);
}
catch(Exception exception)
{
...
}
Run Code Online (Sandbox Code Playgroud)
如果您不在catch- 这意味着它已正确打开。