首页 > php > 使用轻量级的excel生成工具,减轻内存压力

使用轻量级的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;
}

您必须 [ 登录 ] 才能发表留言!