您好,欢迎访问一九零五行业门户网

PHP高性能Excel扩展1.2.8发布,文件读取数据类型可控!

为什么使用 xlswriter
xlswriter 是一个 php c 扩展,可用于在 excel 2007+ xlsx 文件中读取数据,插入多个工作表,写入文本、数字、公式、日期、图表、图片和超链接。
请参考下方对比图;由于内存原因,phpexcel 与 phpspreadsheet 在数据量 相对较大 的情况下无法正常工作,虽然可以通过 修改memory_limit 配置来解决内存问题,但完成工作的时间可能会更长;
它支持以下功能:
一、写入
● 100%兼容的 excel xlsx 文件
● 完整的 excel 格式
● 合并单元格
● 定义工作表名称
● 过滤器
● 图表
● 数据验证和下拉列表
● 工作表 png/jpeg 图像
● 用于写入大文件的内存优化模式
● 适用于 linux,freebsd,openbsd,os x,windows
● 编译为 32 位和 64 位
● freebsd 许可证
● 唯一的依赖是 zlib
二、读取
● 完整读取数据
● 光标读取数据
● 按数据类型读取
1.2.8 新特性
1、新增日期写入
$config = [ 'path' => './tests'];$fileobject = new \vtiful\kernel\excel($config);$fileobject = $fileobject->filename('tutorial.xlsx');$filepath = $fileobject->header(['date']) ->insertdate(1, 0, time(), 'mmm d yyyy hh:mm am/pm') ->output();
2、新增自定义单元格数据类型读取
$config = [ 'path' => './tests',];$fileobject = new \vtiful\kernel\excel($config);$fileobject->openfile('tutorial.xlsx') ->opensheet();var_dump($fileobject->nextrow([ \vtiful\kernel\excel::type_string, \vtiful\kernel\excel::type_timestamp,]));
基准测试
测试环境:
macbook pro 13 inchintel core i516gb 2133mhz lpddr3 memory128gb ssd storage.
导出
两种内存模式,导出 100w 行数据,单行 27 列,每个单元格 19 个中文字符
● 常规模式:耗时 29s,内存占用 2083mb;
● 固定内存模式:耗时 52s, 内存占用 <1mb;
读取
读取 100w 行数据,每行 1 列,单元格数据为 int
● 全量读取:耗时 3s, 内存占用 558mb;
● 游标读取:耗时 2.8s, 内存占用 <1mb;
仓库地址
github:https://github.com/viest/php-ext-excel-export
gitee:https://gitee.com/viest/php-ext-xlswriter
pecl:https://pecl.php.net/package/xlswriter
文档
https://xlswriter-docs.viest.me
end
最后的最后请不要忘记 star
更多php知识,请访问php教程!
以上就是php高性能excel扩展1.2.8发布,文件读取数据类型可控!的详细内容。
其它类似信息

推荐信息