从PHP导出到Excel

问题描述:

我需要将数据从php导出到Excel,并且能够格式化Excel电子表格中的各种项目。从PHP导出到Excel

到目前为止,我找到的最好的图书馆是PHPExcel。但是,它看起来非常沉重,而且有点慢。当然,它非常强大。

有没有什么更轻巧更快的,允许我导出为ex​​cel并能够应用简单格式(粗体,对齐,边框)?

+3

我在一周左右前回答了这个问题http://*.com/questions/3930975/alternative-for-php-excel/3931142#3931142 – 2010-10-23 20:50:32

我刚刚完成了这个昨天。使用PHPExcel,我不会在使用格式化读取“主文档”文档,编写20-100行内容并保存文件(我将其保存为“屏幕”以便立即下载)时遇到任何问题。尽管论坛上的一些人抱怨速度和开销,我推着很多数据的方式,它没有任何问题,根本没有做广告。

请注意,我读过的地方是做一系列的造型,而不是在可能的循环中。例如,风格a1:a50而不是style->a1, style->a2在一个循环中。显然,这两种不同的方案具有非常不同的内存含义。

我发现的唯一问题是输出和读取Excel 2003文件之间的几个怪癖。你完全在XLSX文件中工作,它应该运行前如文件记录所示。

+0

我们总是建议将样式应用于范围而不是循环遍历单个单元格...速度更快,使用的内存更少,并且由于共享样式,输出的Excel文件更小。另一个有用的风格技巧是applyFromArray(),在数组中定义一组样式特征(粗体,颜色,背景颜色,边框等),然后在单个调用中将它们应用于单元格,而不是单独设置每个元素。 – 2010-10-24 09:33:36

+0

是的,我肯定尝试格式而不是单元格,但说实话,在这张表中确实没有太多的格式。目前,我正在输出大约1000行和6列,一些范围格式为3行和3列。大约需要6秒(其中大约1秒是查询时间)在我的本地主机上运行,​​这通常是服务器速度的合理近似值。 – JonoB 2010-10-24 18:08:09

+0

@JonoB - 为了将数据写入PHPExcel对象,是否查看了PHPExcel_Worksheet的fromArray()方法,而不是单独设置每个单元格的值。这可以与值绑定器一起使用,以强制正确地对单元格值进行数据分类,以加快在内存中构建工作簿的过程。 – 2010-10-25 07:58:18