我使用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
);
}
答案 0 :(得分:0)
使用旧版本的FlexCel以xlsx
格式导出时,我遇到了同样的问题。
目前,我已经在 FlexCel v5.5.1.0 上对其进行了测试,并且有一些有趣的行为:
如果我使用Excel 2016或更高版本创建xlsx模板-尝试打开导出的xlsx文件时出现“文件已损坏”错误。
但是,如果我使用 Excel 2013或更低版本来创建xlsx模板,那么我可以完美地打开它而不会出错。
还请注意,如果您在Excel 2016或更高版本中打开由Excel 2013或更低版本创建的xlsx模板并保存,则将来无法将其恢复为工作状态。 模板会为您丢失。
为时已晚,但希望对您有所帮助。
P.S。 FlexCel团队(TMS软件)可能从FlexCel v6.7.16.0版本开始对其进行了修复。我认为是因为文档说了类似的内容:https://www.tmssoftware.com/site/flexcelnet.asp?s=history
点Improved : Improved compatibility with invalid xls and xlsx files
但是我不能争辩。