我使用FlexCel
库创建.xlsx
格式的Excel报告。
创建.xls
格式的文件时,一切都很正常。
当我尝试创建.xlsx
格式的文件时,会创建该文件,但当我用Excel打开它时,我会收到一个错误,即该文件已损坏,无法打开。该文件的大小为.xls.的一半
如果有人遇到过类似的问题或知道解决方案,我将非常感谢你的回答。
编辑:我的代码
var templateFilePath = "D:/template.xlsx";
var newReportPath = "D:/report.xlsx";
using (var fr = new FlexCelReport(true))
{
fr.AddTable("SOReport", dataTable);
fr.Run(
templateFilePath,
newReportPath
);
}
我在使用旧版本的FlexCel以xlsx
格式导出时遇到了同样的问题。
目前,我已经在FlexCel v5.1.0上测试了它,有一个有趣的行为:
如果我使用Excel 2016或更高版本创建xlsx模板,那么我在尝试打开导出的xlsx文件时会收到"文件已损坏"错误。
但是,如果我使用Excel2013或更低版本创建xlsx模板,那么我可以完美地打开它而不会出错。
还请注意,如果您在Excel 2016或更高版本中打开Excel 2013或更低版本创建的xlsx模板并保存它,则以后无法将其恢复到工作状态模板将丢失
太迟了,但我希望这能帮助你。
p.S.可能,FlexCel团队(TMS软件(从FlexCel的6.7.16.0版本开始修复了它。我这么认为是因为文件中有类似的内容:https://www.tmssoftware.com/site/flexcelnet.asp?s=history
像Improved : Improved compatibility with invalid xls and xlsx files
这样的点
但我不能争辩。