我正在为客户生成大型 XLS(Microsof Office Excel 电子表格)文件,其中包含 XML。该文件有 72MB,当我尝试在 LibreOffice 中打开它时,它崩溃了,"General input/output error"
但当我使用 XML 检查 XML 时,xmllint myfile.xls
却没有输入错误。
我想知道是否有类似的控制台命令可以从 XLS 的角度检查文件是否存在错误?(在 ubuntu 中)
我没有 Windows,特别是没有 Microsoft Office 来检查它,但我需要将它“完美”地发送给客户(有趣哈?:))
XML 看起来类似于此处显示的 XMLhttp://railscasts.com/episodes/362-exporting-csv-and-excel(底部)
答案1
抱歉,这是一个非 Linux/非命令行技巧。获取免费的 MS Office 365/MS Office Online/OneDrive,然后从网络上进行检查。
答案2
嗯,整个问题似乎都出在 LibreOffice 本身。我安装的Gnumeric
不是基于 Java(而是基于 C)的,而且运行良好 :)
我只是猜测这是因为 LibreOffice 更重(每个单元格有更多功能),所以我猜 Java 没有用内存覆盖来处理它。
结论是:我的 XLS 没有问题,所以我需要检查的只是我的 XMLxmllint
是否有损坏的 XML。如果没有 XML 问题,那么格式对于电子表格应用程序来说似乎没有问题。