2

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

1 回答 1

1

xlsx我在使用旧版本的 FlexCel 格式导出时遇到了同样的问题。

目前我已经在FlexCel v5.5.1.0上对其进行了测试,并且有一些有趣的行为:
如果我使用 Excel 2016 或更高版本来创建 xlsx 模板 - 然后在尝试打开导出的 xlsx 文件时出现“文件已损坏”错误。

但是,如果我使用Excel 2013 或更低版本来创建 xlsx 模板 - 那么我可以完美地打开它而不会出错。

还要提一下,如果您在 Excel 2016 或更高版本中打开由 Excel 2013 或更低版本创建的 xlsx 模板并保存 - 以后无法将其恢复到工作状态。模板将为您丢失。

为时已晚,但我希望这可以帮助你。


PS 可能,FlexCel 团队(TMS 软件)从 v6.7.16.0 版本的 FlexCel 开始修复它。我认为是这样,因为文档中说了类似的话:https://www.tmssoftware.com/site/flexcelnet.asp?s=history
类似Improved : Improved compatibility with invalid xls and xlsx files
但我不能争辩。

于 2019-11-29T14:01:15.813 回答