PHP 高性能 Excel 扩展 1.2.7 发布

为什么使用 php-ext-excel-export

xlswriter是一个PHP C扩展,可用于在Excel 2007+ XLSX文件中写入多个工作表的文本,数字,公式和超链接。

它支持以下功能:
  • 100%兼容的Excel XLSX文件
  • 完整的Excel格式
  • 合并单元格
  • 自动筛选
  • 图表
  • 数据验证和下拉列表
  • 工作表PNG / JPEG图像
  • 用于写入大文件的内存优化模式
  • 适用于Linux,FreeBSD,OpenBSD,OS X,Windows
  • 编译为32位和64位
  • FreeBSD许可证
  • 唯一的依赖是zlib

PHP 高性能 Excel 扩展 1.2.7 发布

基准测试

测试环境:

  • 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

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 4年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 34
CodingHePing

我顶

4年前 评论

大佬牛逼 :kissing_heart:

4年前 评论
农村闲散劳动力

666

4年前 评论
sreio

厉害

4年前 评论
Epona

膜拜大佬

4年前 评论

这个可以,目前用laravel-excel导出基本信息没问题。如果数据量大有问题。就考虑换成这个扩展

4年前 评论
flyCow

看了文档,发现很多提示不支持Windows!

4年前 评论
sunrise丶 4年前
viest (楼主) 4年前

🐂 改天有空试试这个

4年前 评论

顶~期待已久的扩展终于有了 :+1:

4年前 评论
Ίκαρος

:+1:

4年前 评论

star一个 :relaxed:

4年前 评论

不知道有没有对比过,对比 输出csv 效率如何?

4年前 评论
viest (楼主) 4年前
viest (楼主) 4年前
php_learner (作者) 4年前
nfangxu

不支持读取远程文件吗

4年前 评论

厉害啊

4年前 评论
nfangxu

file

按照文档示例的代码, 当执行以下部分代码时, 会损失文件本身的数据

 $filePath = $excel->fileName($path)
            ->header($header)
            ->output();

是我的打开方式不对吗

4年前 评论
viest (楼主) 4年前
nfangxu (作者) 4年前
viest (楼主) 4年前

谢谢作者。现在读的很快,请问如果有一百万条数据要导入数据库,怎么做比较好。放在一个循环里要很久吧?这个可不可以支持读excel的特定行呀,比如把一百万的数据分块每次读1万行插入数据库

4年前 评论
viest (楼主) 4年前
littledragoner (作者) 4年前
viest (楼主) 4年前
littledragoner (作者) 4年前
littledragoner (作者) 4年前
viest (楼主) 4年前
littledragoner (作者) 4年前
viest (楼主) 4年前
jiangjun

可以插入图片就好了

4年前 评论
viest (楼主) 4年前

点赞!!! 非常的 666,就是不知道会不会长期维护下去。

4年前 评论
viest (楼主) 4年前

file
请问大佬能否出一个接口文档
比如说 fileName 第一个已第二个参数的含义
其中第二个参数 sheet1 让我摸不清楚头脑

百度excel出来了
EXCEL默认打开时有三个工作表:Sheet1、Sheet2、Sheet3,Sheet1是其中的一个工作表

4年前 评论
viest (楼主) 4年前
BugBoss

windows 下不支持读取?

4年前 评论
viest (楼主) 4年前
imapan

有没有分块导出的方法

4年前 评论
viest (楼主) 4年前
imapan (作者) 4年前
lufeijun1234

不明觉厉

4年前 评论

file

导出说格式不对,打不开,换了csv跟xls,数据却是空的,哪里姿势不对吗?

4年前 评论
viest (楼主) 4年前
viest (楼主) 4年前
snow_warm (作者) 4年前

今天试了下xls文件,发现xls读取失败,是不支持么@vikin

4年前 评论
viest (楼主) 4年前
flyrory (作者) 4年前

数组带 key 的,导出后 excel 里没内容

file

file

4年前 评论
Jea (作者) 4年前
viest (楼主) 4年前
Jea (作者) 4年前
viest (楼主) 4年前

用 array_values 后导出还是空白。。我把 users 的结果输出出来,格式和 arr 是一样的,arr 导出后有内容,而 users 导出就是空白 :disappointed_relieved:

代码:
file

输出结果:
file

导出结果:
file

4年前 评论
ben1024 4年前

按照文档的方式导出下载

file

file 找不出问题呀

4年前 评论
ben1024 4年前
一个人的江湖 3年前

速度很快,下载流程有点不习惯

测试了下 30 万数据 4 秒导出,用 golang 的 360EntSecGroup-Skylar/excelize 3 万数据要 7 秒导出

4年前 评论

大佬有个问题请教下,就是读取文件是个空数组。但是这个转成xlsx之后是可以读取的。环境是mac

file

3年前 评论
xuri

推荐一个功能丰富、兼容性好、高性能的 Excel 文档基础库:github.com/xuri/excelize

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!