php7,从phpExcel升级到PhpSpreadsheet

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/loophome/article/details/85247831

phpExcel的github上已经说明了,phpExcel最后的版本是1.8.1,已经不再维护了,新的项目是PhpSpreadsheet。PhpSpreadsheet是PHPExcel的下一个版本,它提高了兼容性,极大地提高了代码基础质量(命名空间、PSR遵从性、使用最新的PHP语言特性等)。

phpExcel:https://github.com/PHPOffice/PHPExcel

PhpSpreadsheet:https://github.com/PHPOffice/PhpSpreadsheet

部署PhpSpreadsheet

PHP环境配置

  • PHP version 5.6 or newer
  • PHP extension php_zip enabled
  • PHP extension php_xml enabled
  • PHP extension php_gd2 enabled (if not compiled in)

使用Composer安装:composer require phpoffice/phpspreadsheet

性能分析

我使用1w行数据(12列),每次对Cell进行赋值,生成Excel2007文件,来测试两者执行时间和内存使用率。可以看出新版的PhpSpreadsheet性能并没有老版本的phpExcel好。在导出行多的表格时,应采用csv格式。

  phpExcel执行时间 phpExcel占用内存 PhpSpreadsheet执行时间 PhpSpreadsheet占用内存
1w行数据 6.6s 38MB 7.5s 54MB
2w行数据 16.8s 70MB 20s 100MB
5w行数据 75.4s 182MB 79s 267MB

使用批量赋值 

可以使用fromArray()方法批量赋值,可以看到批量赋值并不能提升性能。

  phpExcel执行时间 phpExcel占用内存 PhpSpreadsheet执行时间 PhpSpreadsheet占用内存
1w行数据 6.6 38MB 7.6s 54MB
2w行数据 17s 70MB 19s 100MB

猜你喜欢

转载自blog.csdn.net/loophome/article/details/85247831
今日推荐