C#OpenXML生成的xlsx文件即使在基本的另存为操作中也已损坏

C#OpenXML生成的xlsx文件即使在基本的另存为操作中也已损坏,c#,excel,openxml,openxml-sdk,C#,Excel,Openxml,Openxml Sdk,使用OpenXML和C#生成excel文件会创建一个损坏的文件。即使在打开并保存现有文件的最简单情况下也会发生这种情况。保存的输出小于输入的.xlsx文件,并在Microsoft Excel和office 365上的Excel中显示错误消息,打开office Excel时不会出现此错误。Microsoft Excel和office 365都可以打开该文件,但它们会显示一条消息,说明必须修复该文件。从Excel(365、MS或OpenOffice)打开并重新保存文件时,文件大小将恢复正常,并且不会

使用OpenXML和C#生成excel文件会创建一个损坏的文件。即使在打开并保存现有文件的最简单情况下也会发生这种情况。保存的输出小于输入的.xlsx文件,并在Microsoft Excel和office 365上的Excel中显示错误消息,打开office Excel时不会出现此错误。Microsoft Excel和office 365都可以打开该文件,但它们会显示一条消息,说明必须修复该文件。从Excel(365、MS或OpenOffice)打开并重新保存文件时,文件大小将恢复正常,并且不会出现错误消息。你知道如何让openXML输出正确的文件大小/文件,而该文件没有被破坏吗

这是有问题的最基本的代码示例

SpreadsheetDocument immutableDoc = SpreadsheetDocument.Open(templatePath, false);
        immutableDoc.SaveAs(outPath).Close();

尝试将“关闭”替换为“处置”。如果不起作用,请尝试使用检查是否存在任何错误。最后,你能把你的输入文件(“templatePath”)上传到某个地方,这样我就可以重现你的问题了吗?嗨,Mario改变了dispose,解决了这个问题,非常感谢:),我花了很多时间寻找解决方案。它发生在每个模板上。顺便说一句,我试过xlsx。