composer 包地址: https://packagist.org/packages/yuxiaobo/simple-excel github 源代码: https://github.com/edk24/simple-excel
开发这个库的初衷是为了快速完成导入导出的功能开发, 一个人做项目的时候 时间就是金钱 哈哈
你有什么好的想法也欢迎提出, 我会继续打磨完善的.
🌈 简单使用, 方便快捷。 支持 xls
xlsx
csv
🌸
依赖:PhpSpreadsheet
要求 php >= 7.3
$arr = SimpleExcel::import(dirname(__DIR__) . '/test/test.xlsx', 'xlsx', array(
'姓名' => 'name',
'年龄' => 'age',
'性别' => 'gender'
));
var_dump($arr);
// 导出到文件
SimpleExcel::export('/tmp/dump.xlsx', 'xlsx', [
'name' => '姓名',
'idcard' => '身份证',
'mobile' => '手机号'
], [
['name' => '张三', 'idcard' => '`522131199703213342', 'mobile'=>'18311548011'],
['name' => '李四', 'idcard' => '`522131199703213342', 'mobile' => '18311548011'],
['name' => '赵五', 'idcard' => '`522131199703213342', 'mobile' => '18311548011'],
],'#ff0000', '#00ff00', '#333333');
// 直接下载导出数据
SimpleExcel::setDownloadHeader('导出数据.xlsx'); // 设置下载文件响应头
SimpleExcel::export('php://output', 'xlsx', [
'name' => '姓名',
'idcard' => '身份证',
'mobile' => '手机号'
], [
['name' => '张三', 'idcard' => '`522131199703213342', 'mobile'=>'18311548011'],
['name' => '李四', 'idcard' => '`522131199703213342', 'mobile' => '18311548011'],
['name' => '赵五', 'idcard' => '`522131199703213342', 'mobile' => '18311548011'],
],'#ff0000', '#00ff00', '#333333');
⭐️ 解决办法只有两个 ⭐️
Allowed memory size of 8388608 bytes exhausted (tried to allocate 1298358 bytes)
上述问题是由于内存不足导致的,可能是有死循环,或者代码对内存的使用量比较大。
临时解决办法:ini_set('memory_limit', '256M');
数据量太大的话,建议导出、导入做成异步任务
🌸 优化建议 🌸
临时解决:ini_set('max_execution_time', 600);
也需要注意一下 nginx 的最大保持 http 请求时间
数据量太大的话,建议导出、导入做成异步任务
🌸 优化建议 🌸
ini_set('max_execution_time', 600);
导出时在前面加个单元号或者反单元号,如身份证:522131199703253412
改成 '522131199703253412
🌸 建议 🌸
使用 csv 替代 xlsx ,
xls 最大行 65536 ,xlsx 最大行 1048576 (一百万)
, csv 没有限制
fputcsv
和 fgetcsv
UltraEdit
即可,很🐂🍺的遇到空行数据默认是跳过的
可以通过 simpleExcel::import() 函数的参数 4 ignoreEmptyRow
设置
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.