🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
1、下载安装包 https://pecl.php.net/package/xlswriter #例如选择下载1.3.6版本 2、解压下载包 tar -zxvf xlswriter-1.3.6.tgz 3、进入文件夹,编译 cd xlswriter-1.3.6 phpize ./configure --with-php-config=/usr/local/php7.1/bin/php-config make&&make install 4、在php.ini文件增加 extension=xlswriter.so 它支持以下功能: 一、写入 ● 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;