php无法查询excel数据,laravel phpexcel无法读取excel中中文表头列数据
在使用Laravel中的phpexcel读取文件时,碰到一个问题:
代码:
Excel::load($file, function ($reader)
{
$results = $reader->get()->toArray();
dd($reader);
});
要读取的表格
当使用上述代码读取下方表格时,读取到的结果是:
array:6 [
0 => array:8 [
0 => null
"hgc" => "HGC-20171026002"
"sop" => 40.0
"ng" => 100.0
"post_cycles" => 21.0
"ngul" => 25.0
"ul" => 4.0
"bp" => 2.0 ]
1 => array:8 []
2 => array:8 []
3 => array:8 []
4 => array:8 []
5 => array:8 []
可以看到,这样读取到的数组,只有首行表头为英文,或者是包含英文,才能读取到该列的内容
经查,发现在项目config目录下,有一个excel.php的配置文件,在文件中有一行
/*
|--------------------------------------------------------------------------
| Sheet heading conversion
|--------------------------------------------------------------------------
|
| Convert headings to ASCII
| Note: only applies to 'heading' settings 'true' && 'slugged'
|
*/
'to_ascii' => true,
将该行改为false,问题解决。
ps:如果文件夹下没有excel.php的配置文件,可以运行
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
生成配置文件。
修改后可以看到:
修改后的读取结果
同时发现,在配置文件中的
/*
|--------------------------------------------------------------------------
| Has heading
|--------------------------------------------------------------------------
|
| The sheet has a heading (first) row which we can use as attribute names
|
| Options: true|false|slugged|slugged_with_count|ascii|numeric|hashed|trans|original
|
*/
'heading' => 'slugged',
/*
|--------------------------------------------------------------------------
| First Row with data or heading of data
|--------------------------------------------------------------------------
|
| If the heading row is not the first row, or the data doesn't start
| on the first row, here you can change the start row.
|
*/
'startRow' => 1,
heading行改为false,startRow行改为0,可以让首行以值的形式读取出来
读取结果
另:经查,也可以用指定编码读取excel文件
$fileType = mb_detect_encoding($content , array('UTF-8','GBK','LATIN1','BIG5'));//获取当前文本编码格式
Excel::load('file.csv',function($reader){
$rows = $reader->all();
……
},$fileType);//以指定的编码格式打开文件
php无法查询excel数据,laravel phpexcel无法读取excel中中文表头列数据相关推荐
- SqlServer:绑定一张表中的某列数据到另一张表中的某列数据
利用表b中的某列数据去更新表a中的某列数据,a与b中cc字段为关联字段 update a set a.xxx=(select b.xxx from b where a.cc=b.cc) 例如: upd ...
- mysql数据库计算两列数据的和_在sql中对两列数据进行运算作为新的列操作
如下所示: select a1,a2,a1+a2 a,a1*a2 b,a1*1.0/a2 c from bb_sb 把a表的a1,a2列相加作为新列a,把a1,a2相乘作为新列b,注意: 相除的时候得 ...
- php 中 excel表格判断,PHPexcel自动判断excel类型并读取excel所有sheet内容
include "PHPExcel.php"; /* * 读取excel表数据 */ public function readExcel($filename){ $pathinfo ...
- python3读取excel某一列_怎样用python,读取excel中的一列数据!python读取excel某一列数据...
Python 如何循环读取csv或者excel中的一列数据,写入到中搜索 是可以 a.csv复制到 b.csv中 import csv def foo(): with open('a.csv', 'r ...
- 怎样在表格中选出同一类_如何让excel表格中的几列数据相同的名称数据排列
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:如何让excel表格中的几列数据相同的名称数据排列在一行 如下图回答:使用分类汇总分类字段为型号汇总项为所有日期汇总方式选择求和在左 ...
- matlab把某一列作为x轴,excel表格怎么把某一列数据作为x轴-EXCEL表中的两列数据怎样作为X轴和Y轴放在图表里...
excel表格制作坐标图,如何设定某列(数据直接非线... 只能邦你一半.x轴调整我会,生成图表--图表上方右键--选择数据--水平(分类)标签编辑,点进去,选择你要作为X轴的数据区域,即可. 使用e ...
- 【Python数据分析】利用Python删除EXCEL表格中指定的列数据或行数据
如何利用Python删除EXCEL表格中指定的列数据?今天与大家一起分享一下DataFrame对象的drop()函数,drop()函数可根据标签删除EXCEL表格中的列数据或行数据,其语法格式如下: ...
- 怎么在excel中对比两列数据并查找重复项
怎么在excel中对比两列数据并查找重复项 方法一: 方法二: 方法三: Excel查找2列相同的数据,并且返回对应列的另1列数据: IF函数语法格式: 方法一: =MATCH(A1,D$1:D95, ...
- 用python对excel中的两列数据进行排列组合
需求:对一个excel中的两列数据进行排列组合,并将数据追加写入到表格中. 背景:完全不懂代码的小白,所以,最后将代码打包生成可执行文件,方便操作. 下面直接上代码. import pandas as ...
最新文章
- Linux frame buffer 编程 -- fb基本操作
- QEMU KVM 虚拟机移植之性能提高篇小结(android 虚拟机双系统方案)
- php静态变量的销毁
- 国产浏览器 linux,360安全浏览器推出国产操作系统版,在deepin上架获得高度点赞...
- Ubuntu系统的安装与使用:[3]搜狗输入法安装
- 10-java程序的编译阶段
- 网络通信 MAC与ARP
- 语义分割之图像经镜像、翻转、裁剪后像素点的位置映射
- 二叉树平衡因子应用举例
- 可以直接复制的emoji符号(表情)
- sqlite3数据库函数
- 国际长途电话区号(中英文名)
- 微信公众平台素材编辑与自动回复图文教程
- 机器人开发--有刷电机 与 无刷电机
- 云计算产品经理入门(一)
- playm3u8插件 android,Playm3u8插件下载|Playm3u8插件 免费版_最火软件站
- 第一次作业补充:项目调研
- “阿里和腾讯谁的技术更好?”阿里王坚的机智回答瞬间化解尴尬!
- 基于单片机的多功能智能指纹_手机_门禁卡_按键密码锁系统设计
- ninjia必须以root权限运行问题