重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
PHP中为什么使用xlswriter?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
创新互联为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到成都网站制作、网站建设、外贸网站建设, 我们的网页设计师为您提供的解决方案。
为什么使用 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 inch Intel Core i5 16GB 2133MHz LPDDR3 Memory 128GB 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中为什么使用xlswriter大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。