灯草和尚 2019-10-26 12:29:12 7265次浏览 1条评论 6 1 0

xlswriter 是一个 PHP C 扩展,可用于在 Excel 2007+ XLSX 文件中读取数据,插入多个工作表,写入文本、数字、公式、日期、图表、图片和超链接。

请参考下方对比图;由于内存原因,PHPExcelPHPSpreadSheet 在数据量 相对较大 的情况下无法正常工作,虽然可以通过 修改memory_limit 配置来解决内存问题,但完成工作的时间可能会更长;

一、写入

  • 100%兼容的 Excel XLSX 文件
  • 完整的 Excel 格式
  • 合并单元格
  • 定义工作表名称
  • 过滤器
  • 图表
  • 数据验证和下拉列表
  • 工作表 PNG/JPEG 图像
  • 用于写入大文件的内存优化模式
  • 适用于 Linux,FreeBSD,OpenBSD,OS X,Windows
  • 编译为 32 位和 64 位
  • FreeBSD 许可证
  • 唯一的依赖是 zlib

二、读取

  • 完整读取数据
  • 光标读取数据
  • 按数据类型读取

基准测试

测试环境:

  • 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-exp...

Gitee:https://gitee.com/viest/php-ext-xlswriter

PECL:https://pecl.php.net/package/xlswriter

文档

https://xlswriter-docs.viest.me

End

最后的最后请不要忘记 star

觉得很赞
您需要登录后才可以评论。登录 | 立即注册