所以这是代码:
using (FileStream file = new FileStream(databaseLocation, FileMode.Open, FileAccess.Read))
{
// _Sheet is of type IWorksheet
_Sheet = new XSSFWorkbook(file).GetSheetAt(0);
}
这一点,无论我使用什么超载,都会引发各种异常。我已经为这个问题选择了上面的特定重载,因为其他人似乎能够(基本上)使用这个确切的方法打开Excel 2007(.xlsx)文件!
这个特殊的重载给我提供了错误“ZipException - EOF in header”。
对于字符串重载(即_Sheet = new XSSFWorkbook(databaseLocation).GetSheetAt(0);
),给出了另一个深刻的描述性错误“ZipException - 找不到中心字典”。
我不知道NPOI实现ICSharpCode的SharpZipLib的方式是否存在问题。无论哪种方式,我需要才能打开Excel 2007文件。
我已尝试将file.Position
重置为0,以及Google搜索中建议的其他内容,但没有太多可以解决的问题。在我脱掉头发之前帮帮我吧!