使用轻量级的excel生成工具,减轻内存压力
作者:bin背景:
之前一直使用:https://github.com/PHPOffice/PHPExcel
因为PHPExcel不仅仅可以生成excel,所以引入了更多的东西,当我们在生成5w行左右当数据时,内存占用已经接近1个G了
此时,动态调高内存已经不合理了。
解决方案:
所以我们可以考虑换一个更加轻量当生成工具:
https://github.com/mk-j/PHP_XLSXWriter
技巧:
一、合并第一行的,A-F(0,1,2,3,4,5)列
$xlsWriter->markMergedCell('sheetName',0,0,0,5);
二、写一行
$xlsWriter->writeSheetRow('sheetName', ['zengbin', 'xiaoming', 'zengsang']);
三、给xiaoming这一列添加颜色
$xlsWriter->writeSheetRow('sheetName', ['zengbin', 'xiaoming', 'zengsang'], ['', ['color' => '#FF0000'] ]);
四、一个生成空列数组的方法
function emptyValArray($length, $repeat = ''){ $tmpArr = []; for ($i=0;$i<$length;$i++) { $tmpArr[] = $repeat; } return $tmpArr; }