7

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

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

这工作正常,但有没有办法检查指定的filenamepackage实际上是一个有效的 .xlsx 文件?否则在对非 Excel 对象进行操作时会出现异常,例如,如果用户不小心打开了 .zip 文件或其他情况。

4

1 回答 1

5

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

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

于 2013-02-20T15:13:55.023 回答