我在 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
- 那意味着它已正确打开。