xlsxwriter是一个PHPC扩展,可用于在Excel2007及以上版本XLSX文件中写入多个工作表的文本,数字,公式和超链接它具备以下特性:一、写入100%兼容的ExcelXLSX文件完整的Excel格式合并单元格定义工作表名称过滤器图表数据验...
xlsxwriter 是一个 PHP C 扩展,可用于在Excel 2007及以上版本XLSX文件中写入多个工作表的文本,数字,公式和超链接
它具备以下特性:
一、写入
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.
导出
两种内存模式导出100万行数据(单行27列,数据类型均为字符串,单个字符串长度为19)
普通模式:耗时 29S,内存只需 2083MB;
固定内存模式:仅需 52S,内存仅需 <1MB;
导入
100万行数据(单行1列,数据类型为INT)
全量模式:耗时 3S,内存仅 558MB;
游标模式:耗时 2.8S,内存仅 <1MB;
安装
pecl install xlswriter
# 添加 extension = xlswriter.so 到 ini 配置
$config = ['path' => './tests'];
$excel = new \Vtiful\Kernel\Excel($config);
// 导出测试文件
$filePath = $excel->fileName('tutorial.xlsx')
->header(['Item', 'Cost'])
->output();
// 读取测试文件
$data = $excel->openFile('tutorial.xlsx')
->openSheet()
->getSheetData();
var_dump($data); // [['Item', 'Cost']]
全文详见:http://xpxw.com/?id=147