FlexCel创建损坏的xlsx文件

时间:2018-07-19 12:22:52

标签: c# excel xlsx xls flexcel

我使用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
        );
    }

1 个答案:

答案 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
但是我不能争辩。