使用EPPlus检查文件是否实际上是一个Excel文件
我在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);
更新
我还没有find某种types的返回值的情况下,一些文件无法在EPPlus文档中打开,但您可以使用它来捕获的excel:
FileInfo fileInfo = new FileInfo(pathToYourFile); ExcelPackage package = null; try { package = new ExcelPackage(fileInfo); } catch(Exception exception) { ... }
如果你不catch
– 这意味着它被正确打开。