Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Linux中如何从命令行生成xls文件?_Php_Mysql_Excel_Export To Excel - Fatal编程技术网

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

Php 在Linux中如何从命令行生成xls文件?,php,mysql,excel,export-to-excel,Php,Mysql,Excel,Export To Excel,我需要每天在我的网站上用Excel自动更新一些价目表。我使用PHPExcel来实现这一点,但是生成一个只有40000行和11列的文件需要大量内存(大约900 Mb),这在我的Linux托管服务器上是不可用的。所有谷歌搜索结果都只指向PHPExcel。我想知道是否有任何命令行实用程序允许做同样的事情,但消耗更少的内存,这样我就可以使用cron在我的Linux服务器上运行它了?我需要在我的Excel文件中使用一些格式和公式,这使得CSV和HTML成为非选项 当然,我可能会从Windows服务器机器连

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

当然,我可能会从Windows服务器机器连接到MySQL,在实际的Excel中生成Excel文件,然后将它们上传到服务器,但是这个选项对我来说似乎很难

添加: 我现在决定在PERL、Python和Java模块之间进行选择,选择在大文件上消耗较少资源且更易于使用的模块;欢迎对此话题发表任何评论。
也可以接受任何其他解决方案。

根据页面的复杂性,您可以尝试手动构建xlsx文件。xlsx规范非常复杂,但我见过创建非常简单表的示例


也许这会有所帮助。

我使用PERL和John McNamara的模块Spreadsheet::WriteExcel生成各种优秀的电子表格,取得了非常好的效果。但是它需要编程。

您可以尝试从ResultSet在Java上构建它。我们正在用更多的Java示例更新该站点,但代码看起来应该是这样的

ITemplaterDocument doc=Configuration.Factory.Open(文件); 文档处理(结果集);
doc.flush()

< P>你应该考虑使用java和< /P> 它有很好的性能,甚至比windows上的MS Office互操作程序集更好(基于我自己的经验)


而且它有一个庞大的用户社区。

对我来说,最简单的选择就是使用图书馆。虽然我从来没有在python上写过任何东西,但我只花了几个小时的时间就完成了,而且它的运行速度比PHPExcel快得多,占用的内存也更少(我最大的文件大约是300MB,而php是900MB)。但是,如果您正在寻找类似问题的解决方案,其他答案中提供的工具也可能满足您的需要。

您的spreadshee是否很大?生成电子表格需要花费大量的时间和内存吗?是的,其中一些电子表格有数十个选项卡,数万行,大小为数兆字节。内存使用量取决于最终电子表格文件的大小,生成时间主要取决于用于检索数据的SQL查询。相当简单的协议,可以在Linux或Windows的命令行中运行,并安装了Perl系统。谢谢,我会考虑这个选项!它似乎很容易使用,我应该检查一下性能。谢谢