Excel 解析文件是第一行是中文,出现解析失败的情况

excel文件

订单编号 快递公司 物流编号
115 中通快递 ZT43443543534
116 顺丰快递 SF78798rhhjhjh
121 申通快递 ST44324hjjkjjdlkfjsd

代码:

$input = $request->all();
$filePath = $input['order_file'];
$path_url = 'order.xlsx';
$result_url = storage::disk('public')->put($path_url, file_get_contents($filePath));
$path_url_real = 'storage/app/public/'.$path_url;

Excel::load($path_url_real, function($reader) {
  $data = $reader->all();
  dd($data);
}, 'UTF-8');

运行后截图

RowCollection {#7521 ▼
  #heading: array:3 [▼
    0 => ""
    1 => ""
    2 => ""
  ]
  #title: "pay_order"
  #items: array:3 [▼
    0 => CellCollection {#7527 ▼
      #title: null
      #items: array:1 [▼
        0 => "ZT43443543534"
      ]
    }
    1 => CellCollection {#7531 ▼
      #title: null
      #items: array:1 [▼
        0 => "SF78798rhhjhjh"
      ]
    }
    2 => CellCollection {#7535 ▼
      #title: null
      #items: array:1 [▼
        0 => "ST44324hjjkjjdlkfjsd"
      ]
    }
  ]
}
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

修改配置文件 excel.php

    'to_ascii'                => false,
4年前 评论
DoWHAT (楼主) 4年前
讨论数量: 6
$path_url = iconv('UTF-8', 'GBK', 'order').'.xlsx';
城市
2006 广东省深圳市深南中路178号深圳发展银行大厦
array:1 [
  0 => array:2 [
    "年" => 2006.0
    "城市" => "广东省深圳市深南中路178号深圳发展银行大厦"
  ]
]
4年前 评论
DoWHAT (楼主) 4年前

load 方法中的参数 UTF-8 去掉试试,或者换成 GBK

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

我如果把第一行的中文改为英文(one,two,three),就能读取到全部的信息
RowCollection {#7521 ▼

heading: array:3 [▼

0 => "one"
1 => "two"
2 => "three"

]

title: "pay_order"

items: array:3 [▼

0 => CellCollection {#7527 ▼
  #title: null
  #items: array:3 [▼
    "one" => 115.0
    "two" => "中通快递"
    "three" => "ZT43443543534"
  ]
}
1 => CellCollection {#7531 ▼
  #title: null
  #items: array:3 [▼
    "one" => 116.0
    "two" => "顺丰快递"
    "three" => "SF78798rhhjhjh"
  ]
}
2 => CellCollection {#7535 ▼
  #title: null
  #items: array:3 [▼
    "one" => 121.0
    "two" => "申通快递"
    "three" => "ST44324hjjkjjdlkfjsd"
  ]
}

]
}

4年前 评论

配置文件中配置

file

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

修改配置文件 excel.php

    'to_ascii'                => false,
4年前 评论
DoWHAT (楼主) 4年前
颠倒的玉石

我遇到过一会这样的。我的原因是我的excel文件里文字不是utf-8格式。不知道你的是不是这个原因

4年前 评论

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