C# NPOI赢得';t不允许我打开Excel 2007文件

C# NPOI赢得';t不允许我打开Excel 2007文件,c#,excel,sharpziplib,npoi,C#,Excel,Sharpziplib,Npoi,下面是代码: using (FileStream file = new FileStream(databaseLocation, FileMode.Open, FileAccess.Read)) { // _Sheet is of type IWorksheet _Sheet = new XSSFWorkbook(file).GetSheetAt(0); } 无论我使用什么重载,这都会持续引

下面是代码:

            using (FileStream file = new FileStream(databaseLocation, FileMode.Open, FileAccess.Read))
        {
            // _Sheet is of type IWorksheet
            _Sheet = new XSSFWorkbook(file).GetSheetAt(0);
        }
无论我使用什么重载,这都会持续引发各种异常。我为这个问题选择了上面特别的重载,因为其他人似乎都能用(基本上)这个确切的方法打开Excel2007(.xlsx)文件

这个特殊的重载为我提供了错误“ZipException-EOF-in-header”。 对于字符串重载(即
\u Sheet=new xssf工作簿(databaseLocation).GetSheetAt(0);
),给出了另一个生动的描述性错误“ZipException-找不到中心字典”

我不知道NPOI实现ICSharpCode的SharpZipLib的方式是否有问题。无论哪种方式,我都需要能够打开Excel2007文件


我已经尝试过将
file.Position
重置为0,以及谷歌搜索中建议的其他内容,但没有什么好做的。在我把头发扯下来之前帮帮我

您已经验证了该文件实际上是合法的.xlsx文件吗?您是否尝试过将其重命名为.zip并在任何zip管理器软件中打开它,以确保它不是扩展名不正确的旧.xls文件?这是从Microsoft Excel本身新创建的,并保存为.xlsx文件,因此很遗憾,我无法保证它是有效的.xlsx文件!我将重新创建文件,重新测试并报告,如果这会造成影响。谢谢@LasseV.Karlsen,无论出于何种原因,Excel正在将任何空白工作簿保存为扩展名为“.xlsx”,文件大小为0KB,除非我将工作簿保存为非空白,删除我输入的任何内容,然后将其重新保存为空白工作簿,在这种情况下,它的文件大小为8.41KB。不知道为什么,但问题已经解决了。谢谢:)您使用的是哪个版本的NPOI?