首页 文章

使用EPPlus检查文件是否确实是Excel文件

提问于
浏览
6

我在C#中使用EPPlus来读取Excel(.xlsx)文件 . 初始化完成如下:

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

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

1 回答

  • 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 - 这意味着它被正确打开了 .

相关问题