资讯专栏INFORMATION COLUMN

PHP 高性能 Excel 扩展 Excel-export

shinezejian / 1296人阅读

摘要:项目地址为什么使用此处拿作为对比对象,使用相同的方式进行导出逐行写入,在数据相同的情况下,在时,因内存不够而停止了,而在固定内存模式下,轻松惬意的完成了导出工作,详情对比数据看下图固定内存模式最大使用内存最大单行数据量创

项目地址

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 VtifulKernelExcel($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 VtifulKernelExcel($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 VtifulKernelExcel($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 VtifulKernelExcel($config);

// 普通模式
$fileObject = $excel->fileName("tutorial01.xlsx");
// 或 固定内存模式
$fileObject = $excel->constMemory("tutorial01.xlsx");

$fileHandle = $fileObject->getHandle();

$boldStyle = VtifulKernelFormat::bold($fileHandle);

$fileObject->header(["name", "age"])
    ->data([["viest", 21]])
    ->setColumn($boldStyle, "A:A", 200)
    ->output();
如果你觉得不错,请star

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28630.html

相关文章

  • 工作中常用的npm包

    摘要:工具类工具库,封装了处理,,,等常见的函数,是对标准库的补充。业务开发中常用的函数有很多,如等。示例如下整数处理保留两位小数百分比处理亿亿处理万万处理格式化数字大于亿的展示为亿,大于万的展示为万亿万时间处理库。 工具类 lodash 工具库,封装了处理arrays,numbers,objects,string等常见的函数,是对标准库的补充。业务开发中常用的函数有很多,如:assign,...

    ermaoL 评论0 收藏0
  • 从零开始使用node读取txt处理后导出excel

    摘要:安装执行版本号,例如以下语句可以安装几的版本好像在墙内只能找到以前的版本使用可以查看现有的版本,可以支持模糊切换。 一直说要好好学习,总结知识什么的。一直觉得没有时间。周一终于提交了论文盲审。决定从今天每周都总结一次自己的所学。希望自己能坚持。 任务描述: 一个医学系的同学要分析一个叫TCGA的数据库,每个实验文件是txt,格式如下: hsa-miR-1228* 5.185500...

    frank_fun 评论0 收藏0
  • nodejs读写excel内容

    摘要:支持读写的模块基于解析文件数据及生成文件,仅支持格式文件基于解析文件数据,支持及格式文件基于将数据生成导出文件,生成文件格式为基于从文件中提取数据,仅支持格式文件。代码如下读取文件内容将文件内容插入新的文件中 支持读写Excel的node.js模块node-xlsx: 基于Node.js解析excel文件数据及生成excel文件,仅支持xlsx格式文件;excel-parser: 基于...

    yzzz 评论0 收藏0
  • node表格模块exceljs介绍1--基本使用

    摘要:前言用做服务器端表格处理时,需要使用处理模块,网上能搜到的插件大概就三四种等,经过我的使用,发现最强大,最全面的就是。合并单元格使用此时合并了两个单元格。后续正常调用即可。 前言 用node做服务器端表格处理时,需要使用excel处理模块,网上能搜到的插件大概就三四种(xlsx,excel-export,node-xlsx等),经过我的使用,发现最强大,api最全面的就是exceljs...

    supernavy 评论0 收藏0
  • php 导出 excel

    关于 PHP 导出 excel csv 常用的有 PHPexcel ,本文整理了一些其他方案。 高性能 Excel 扩展 sudo apt-get install -y zlib1g-dev git clone https://github.com/jmcnamara/libxlsxwriter.git cd libxlsxwriter make && sudo make install // ...

    付永刚 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<