Laravel-Excel 导入 Excel 文件不完整的解决方法

Laravel-excel 导入Excel文件数据不完整的解决方法

遵照 Laravel 学院的关于 Laravel-excel 扩展包的安装使用教程
在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

Excel文件导出功能没有问题,但是导入时候发现只能获取部分数据,

  1. 这是Excel文件截图: Excel文件内容截图
  2. 读取代码:
    Excel::load($filePath, function($reader) {
    $data = $reader->get();
    dd($data);
    });
  3. 我的结果:
    部分缺失的数据截图
    显然只得到了最后一列,数据不完整

    经过两天的折腾,发现原来是 表头 的问题
    把第一行表头改为英文:
    Excel表头改英文
    结果:
    成功获取到结果
    OK

    进一步研究发现,表头有关的设置在扩展包的excel.php设置文件中。
    找到这行

    'to_ascii' => true, 改为false,这下就算是中文标题也OK。

    成功获取截图
    如果不想要标题,excel.php中找到'heading' 把设置值改为false,得到无key的数组:

    问题解决!!

吐槽:

为啥不能默认'to_ascii' => false,呢??!!去github上提意见!:-1: ,有知道的phper欢迎回复告诉我真相。

本帖已被设为精华帖!
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 15

我Excel导入进去之后全都是null,找了一天问题都想放弃用php写了,看了很多东西 怀疑是编码问题,但是没找到解决的方法,没想到看到了楼主的帖子一下就好了,感谢~~~

7年前 评论
hanzhao

确实有效,感谢楼主分享,帮SEO一波

Laravel excel 只有最后一行
Laravel Excel 只有最后一行

7年前 评论

按照楼主的方法做可以忽略掉title获取到内容,但内容中的中文依旧不能显示。
仔细研究了一下发现其实编码格式的问题导致的,在加载的时候做了如下修改:

源数据:

file

excel.php:


 'heading'                 => false//


'to_ascii'                => true

code:


$content = file_get_contents('file.csv');
$fileType = mb_detect_encoding($content , array('UTF-8','GBK','LATIN1','BIG5'));//获取当前文本编码格式
Excel::load('file.csv',function($reader){
      $rows = $reader->all();
      ……
},$fileType);//以指定的编码格式打开文件

这样就可以打开title和内容都有中文的excel了。

6年前 评论

终于找到解决方案了,感谢! 折腾了好久!

6年前 评论
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

可以生成配置文件到config下,然后修改就好了。

6年前 评论

laravel-excel 中文导入问题,我也来SEO一波

6年前 评论

@张大蛤 困扰了半天,用哥们的方法一次就好了

5年前 评论

SEO 一波 ,估计是编码的问题,换了英文就ok了。

5年前 评论
尼古丁

肥肠感谢 :kissing_heart:

5年前 评论

@l1hx 按照上面写的改 'to_ascii' => false之后,中文表头还是获取不到

4年前 评论

特意注册账号来给你点赞

4年前 评论
  • 悲剧的是我的同事们在默认 to_ascii => true 的情况下写了大量的代码 :sob: ,我只好采用他们非常神奇的写法:
    $reader->getSheet(0)->toArray();
  • 这种写法也可以成功识别全部中文
  • Maatwebsite\Excel 版本 2.1
4年前 评论

爱了爱了 非常关键 :joy:

4年前 评论
xuri

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

3年前 评论

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