如何在Linux中从命令行生成xls文件?

我需要每天在我的网站上自动更新Excel中的一些价目表。 我使用了PHPExcel,但是它需要大量的内存(大约900 Mb)来生成1个文件,只有40000行和11列,这在我的Linux托pipe服务器上是不可用的。 所有的Google结果都只指向PHPExcel。 我想知道是否有任何命令行实用程序允许做同样的事情,但消耗更less的内存,所以我可以使用cron在我的Linux服务器上运行它? 我需要在我的Excel文件中使用一些格式和公式,这使CSV和HTML成为非选项。

当然,我可以从Windows Server计算机连接到MySQL,在实际的Excel中生成Excel文件,然后将其上传到服务器,但是这个选项对我来说似乎相当不好。

补充:我现在决定在PERL,Python和Java模块之间,select一个在大文件上消耗更less资源并且更容易使用的模块; 欢迎对此主题发表任何评论。 另外任何其他解决scheme都被接受

你应该考虑使用Java和Apache POI

它具有良好的性能,甚至比Windows上的MS Office互操作程序集更好(基于我自己的经验)。

也有一个很大的用户群体。

根据您的页面的复杂性,您可以尝试手动构buildxlsx文件。 xlsx规范非常复杂,但我已经看到一些例子来创build非常简单的表格。

也许这个链接可能有帮助。

使用PERL和John McNamara的模块Spreadsheet :: WriteExcel生成各种精美的电子表格,我已经有了非常好的结果。 但它需要编程。

您可以尝试在ResultSet中的Java 模板上构build它。 我们正在使用更多的Java示例更新站点,但是代码会沿着这个方向看起来有些不同。

ITemplaterDocument doc = Configuration.Factory.Open(file); doc.process(的resultSet); doc.flush();

对我来说最简单的select是使用python-excel库。 虽然我从来没有在python上写过任何东西,但是花了我几个小时的时间才真正实现了这个function,而且比PHPExcel更快,而且消耗的内存也更less了(我最大的文件大约是300Mb,而对于900Mb PHP)。 但是,如果您正在寻找类似问题的解决scheme,其他答案中提供的工具也可以满足您的需求。