php大量数据Excel导出的解决方案【5.2以上的版本】

背景

前面有一篇文章介绍了php7以上的版本的大量数据的excel导出方案,但是对于还没有升级到php7的同学没啥用,因此这里又去找了一些资料,发现了一个支持php5.2以上版本的php excel导出库,现在应该没有人在使用php5.2以下的版本了吧,这里推荐以下,因为本地是7.0版本,所以实际的数据没有测试过,但是看git的说明,肯定是比phpexcel库要快。

介绍

git地址:https://github.com/mk-j/PHP_XLSXWriter

官方导出数据时间和内存使用说明

rowstimememory
500001.4s0MB
1000002.7s0MB
1500004.1s0MB
2000005.7s0MB
2500007.0s0MB

对比测试

phpexcel的导出效率看我另一篇文章*https://blog.csdn.net/szulilin/article/details/90722808
这里我再贴出来一下

使用phpexcel导出的数据时间和内存使用说明

rowstimememory
10000.39s6MB
100003.6s32MB
5000021.9s134MB
10000051s262MB

使用的方式也很简单,如果没有使用composer,直接引入就好了,使用了composer的话,就用composer require 引入就好

include_once("xlsxwriter.class.php");
$writer = new XLSXWriter();
$writer->writeSheetHeader('Sheet1', array('c1'=>'integer','c2'=>'integer','c3'=>'integer','c4'=>'integer') );
for($i=0; $i<50000; $i++)
{
    $writer->writeSheetRow('Sheet1', array($i, $i+1, $i+2, $i+3) );
}
$writer->writeToFile('huge.xlsx');
echo '#'.floor((memory_get_peak_usage())/1024/1024)."MB"."\n";

总结

通过对比,phpexcel的时间是指数上升的,到十万级基本已经是极限了,但是该库是线性的,而且不占内存,10w数据2.7秒,100w数据才30秒左右,web也不会超时,可以放心大胆的使用了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值