1

所以这里是代码:

            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 搜索中建议的其他内容,但没有什么可做的。在我把头发扯掉之前帮助我!

4

0 回答 0