xlswriter是一个PHPC扩展,可用于读取Excel2007+XLSX文件中的数据、插入多张工作表、写入文本、数字、公式、日期、图表、图片和超链接。它具有以下特点:1.编写100%兼容的ExcelXLSX文件完整的Excel格式合并单元格定义工作表名称过滤图表数据验证和下拉列表工作表PNG/JPEG图片写入大文件的内存优化Linux、FreeBSD、OpenBSD模式,OSX,WindowsCompilefor32-bitand64-bitFreeBSDlicense唯一依赖是zlib其次,读取完整读取数据Cursor按数据类型读取数据ReadxlsxtoCSVbenchmark测试环境:MacbookPro13inch,IntelCorei5,16GB2133MHzLPDDR3内存,128GBSSD存储。导出两种内存模式导出100万行数据(每行27列,数据类型为字符串,单个字符串长度为19)普通模式:耗时29S,内存仅需2083MB;固定内存模式:仅需52S,内存仅需<1MB;导入100万行数据(单行1列,数据类型为INT)全量模式:耗时3S,内存仅558MB;游标模式:耗时2.8S,内存仅<1MB;quickstartexport$excel=new\Vtiful\Kernel\Excel(['path'=>'/home/viest']);//fileName会自动创建一个工作表,可以自定义工作表名称,工作表名称为可选参数$filePath=$excel->fileName('tutorial01.xlsx','sheet1')->header(['Item','Cost'])->data([['Rent',1000],['Gas',100],['Food',300],['Gym',50],])->output();import$excel=new\Vtiful\Kernel\Excel(['path'=>'./tests']);//导出测试文件$filePath=$excel->fileName('tutorial.xlsx')->header(['项目','成本'])->输出t();//读取测试文件$data=$excel->openFile('tutorial.xlsx')->openSheet()->getSheetData();var_dump($data);//[['Item','Cost']]XLSX转CSV[普通模式]将应用场景较多的xlsx文件碎片合并成一个CSV文件统一处理;添加xlsx文件的速度大于任务处理的速度,文件可以异步转换为CSV。使用更高效的工具进行处理(例如:数据库工具直接导入CSV);示例demo.php$excel=new\Vtiful\Kernel\Excel(['path'=>'./tests']);$filePath=$excel->fileName('tutorial.xlsx','TestSheet1')->header(['String','Int','Double'])->data([['Item_1',10,10.9999995],])->output();//写入打开,将文件指针指向文件末尾$fp=fopen('./tests/file.csv','a');//将xlsx文件写入CSV$resultBoolOne=$excel->openFile('tutorial.xlsx')->openSheet()->putCSV($fp);//将xlsx文件附加到CSV$resultBoolTwo=$excel->openFile('tutorial.xlsx')->openSheet()->putCSV($fp);file.csvString,Int,DoubleItem_1,10,10.9999995String,Int,DoubleItem_1,10,10.9999995xlsx转CSV【回调模式】应用场景与普通模式类似,区别在于上层业务可以在回调函数中处理数据,将xlsx中的数据过滤处理后写入csv。更多功能见文档https://xlswriter-docs.viest.me仓库地址Github:https://gitee.com/viest/php-ext-xlswriterGitee:https://gitee.com/viest/php-ext-xlswriterPECL:https://pecl.php.net/package/xlswriterEnd最后最后请不要忘记star
