项目地址
https://github.com/viest/php-ext-excel-export
为什么使用 php-ext-excel-export
此处拿PHPOffice作为对比对象,使用相同的方式进行导出(逐行写入),在数据相同的情况下,PHPOffice 在2W时,因内存不够而停止了,而 php-ext-excel-export 在固定内存模式下,轻松惬意的完成了导出工作,详情对比数据看下图:
固定内存模式
最大使用内存 = 最大单行数据量
$fileObject = $excel->constMemory('tutorial01.xlsx');
1、创建一个简单的Excel文件:
$config = ['path' => '/home/viest/'];
$excel = new \Vtiful\Kernel\Excel($config);
$excel->fileName('test.xlsx')
->header(['Item', 'Cost'])
->data([
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
])
->output();
2、插入图片
insertImage(int $row, int $column, string $localImagePath)
$excel = new \Vtiful\Kernel\Excel($config);
$freeFile = $excel->fileName("free.xlsx");
$freeFile->insertImage(5, 0, '/vagrant/ASW-G-66.jpg');
$freeFile->output();
3、定义一个公式
insertFormula(int $row, int $column, string $formula)
$excel = new \Vtiful\Kernel\Excel($config);
$freeFile = $excel->fileName("free.xlsx")
->header(['name', 'money']);
for($index = 0; $index < 10; $index++) {
$textFile->insertText($index+1, 0, 'vikin');
$textFile->insertText($index+1, 1, 10);
}
$textFile->insertText(12, 0, "Total");
$textFile->insertFormula(12, 1, '=SUM(B2:B11)');
$freeFile->output();
4、为单元格设置格式
$config = ['path' => './tests'];
$excel = new \Vtiful\Kernel\Excel($config);
// 普通模式
$fileObject = $excel->fileName('tutorial01.xlsx');
// 或 固定内存模式
$fileObject = $excel->constMemory('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();
$boldStyle = \Vtiful\Kernel\Format::bold($fileHandle);
$fileObject->header(['name', 'age'])
->data([['viest', 21]])
->setColumn($boldStyle, 'A:A', 200)
->output();
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。