Laravel-Excel 导入 Excel 文件不完整的解决方法
Laravel-excel 导入Excel文件数据不完整的解决方法
遵照 Laravel 学院的关于 Laravel-excel 扩展包的安装使用教程
在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
Excel文件导出功能没有问题,但是导入时候发现只能获取部分数据,
- 这是Excel文件截图:
- 读取代码:
Excel::load($filePath, function($reader) {
$data = $reader->get();
dd($data);
}); -
我的结果:
显然只得到了最后一列,数据不完整经过两天的折腾,发现原来是 表头 的问题
把第一行表头改为英文:
结果:
OK进一步研究发现,表头有关的设置在扩展包的excel.php设置文件中。
找到这行'to_ascii' => true,
改为false,这下就算是中文标题也OK。
如果不想要标题,excel.php中找到'heading'
把设置值改为false,得到无key的数组:问题解决!!
吐槽:
为啥不能默认'to_ascii' => false,
呢??!!去github上提意见!:-1: ,有知道的phper欢迎回复告诉我真相。
本帖已被设为精华帖!
我Excel导入进去之后全都是null,找了一天问题都想放弃用php写了,看了很多东西 怀疑是编码问题,但是没找到解决的方法,没想到看到了楼主的帖子一下就好了,感谢~~~
确实有效,感谢楼主分享,帮SEO一波
Laravel excel 只有最后一行
Laravel Excel 只有最后一行
按照楼主的方法做可以忽略掉title获取到内容,但内容中的中文依旧不能显示。
仔细研究了一下发现其实编码格式的问题导致的,在加载的时候做了如下修改:
源数据:
excel.php:
code:
这样就可以打开title和内容都有中文的excel了。
终于找到解决方案了,感谢! 折腾了好久!
可以生成配置文件到config下,然后修改就好了。
laravel-excel 中文导入问题,我也来SEO一波
@张大蛤 困扰了半天,用哥们的方法一次就好了
SEO 一波 ,估计是编码的问题,换了英文就ok了。
肥肠感谢 :kissing_heart:
肥肠感谢+
@l1hx 按照上面写的改 'to_ascii' => false之后,中文表头还是获取不到
特意注册账号来给你点赞
$reader->getSheet(0)->toArray();
Maatwebsite\Excel
版本2.1
爱了爱了 非常关键 :joy:
推荐一个功能丰富、兼容性好、高性能的 Excel 文档基础库:github.com/xuri/excelize