PHP 高性能 Excel 扩展 Excel-export

项目地址

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();

如果你觉得不错,请star

https://github.com/viest/php-ext-excel-export

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值