原声php 读取excel乱码_使用PHPExcel读取Excel文件时会读出乱码
这是我读取文件的代码:
require_once dirname(__FILE__) . "/PHPExcel/Classes/PHPExcel.php";$PHPReader = new PHPExcel_Reader_Excel2007();if (!$PHPReader->canRead($filePath)) {$PHPReader = new PHPExcel_Reader_Excel5();if (!$PHPReader->canRead($filePath)) {echo "no file";die;}}$PHPExcel = $PHPReader->load($filePath);$sheetCount = $PHPExcel->getSheetCount();$sheetNames = $PHPExcel->getSheetNames();for ($SheetID = 0; $SheetID < $sheetCount; $SheetID++) {$name = $sheetNames[$SheetID];$currentSheet = $PHPExcel->getSheetByName($name);$allColumn = $currentSheet->getHighestColumn();$allRow = $currentSheet->getHighestRow();$drive = new DriveCommand();$data = array();for ($currentRow = 1; $currentRow <= $allRow; $currentRow++) {for ($currentColumn = 'A'; $currentColumn <= $allColumn; $currentColumn++) {$val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65, $currentRow)->getValue();//$objExcel[$name][$currentRow - 1][ord($currentColumn) - 65] = $val;$data[$currentRow][] = $val;}}if ($name == "产品信息") $name = "product";else if ($name == "行业") $name = "industry";else if ($name == "集团信息"){continue; $name = "bloc";var_dump($data);die;}else if ($name == "客户信息"){var_dump($data);die;$name = "customer";}else if ($name == "业务员信息") $name = "employeer";else continue;$drive->actionUpload($name, $data);}
这是截图:
读取的内容前一部分没有问题,后面的也没有问题,但是中间这部分会变成这个样子。
回复讨论(解决方案)
没有看到乱码
截图中的是你 var_dump 的结果
Excel文件中的数据都是正常的,但是在读取的时候中间会有一部分读取出类似于“ (12) { ["_name":protected]=> string(6) "宋体" ["_size":protected]=> int(12) ["_bold":protected]=> bool(false) ["_italic":protected]=> bool(false) ["_superScript":protected]=> bool(false) ["_subScript":protected]=> bool(false) ["_underline":protected]=> string(4) "none" ["_strikethrough":protected]=> bool(false) ["_color":protected]=> object(PHPExcel_Style_Color)#3006 (4) { ["_argb":protected]=> string(8) "FF000000" ["_parentPropertyName":protected]=> NULL ["_isSupervisor":protected]=> bool(false) ["_parent":protected]=> NULL } ”这样的数据。正常的数据输出应该是 [2]=> array(13) { [0]=> string(6) "B01001" [1]=> string(6) "超市" [2]=> string(12) "百佳超市" [3]=> string(6) "广东" [4]=> string(6) "广州" [5]=> string(21) "广州中华广场店" [6]=> string(51) "广州越秀区中山三路228号中华广场三层" [7]=> NULL [8]=> NULL [9]=> NULL [10]=> NULL [11]=> float(2735) [12]=> string(6) "caoshi" } [3]=> array(13) { [0]=> string(6) "B01002" [1]=> string(6) "超市" [2]=> string(12) "百佳超市" 这种格式。
我也有时候会碰到乱码,有时候又是好的,估计是微软excel问题。
没有看到乱码
截图中的是你 var_dump 的结果
Excel文件中的数据都是正常的,但是在读取的时候中间会有一部分读取出类似于“(12) { ["_name":protected]=> string(6) "宋体" ["_size":protected]=> int(12) ["_bold":protected]=> bool(false) ["_italic":protected]=> bool(false) ["_superScript":protected]=> bool(false) ["_subScript":protected]=> bool(false) ["_underline":protected]=> string(4) "none" ["_strikethrough":protected]=> bool(false) ["_color":protected]=> object(PHPExcel_Style_Color)#3006 (4) { ["_argb":protected]=> string(8) "FF000000" ["_parentPropertyName":protected]=> NULL ["_isSupervisor":protected]=> bool(false) ["_parent":protected]=> NULL } ”这样的数据。正常的数据输出应该是[2]=> array(13) { [0]=> string(6) "B01001" [1]=> string(6) "超市" [2]=> string(12) "百佳超市" [3]=> string(6) "广东" [4]=> string(6) "广州" [5]=> string(21) "广州中华广场店" [6]=> string(51) "广州越秀区中山三路228号中华广场三层" [7]=> NULL [8]=> NULL [9]=> NULL [10]=> NULL [11]=> float(2735) [12]=> string(6) "caoshi" } [3]=> array(13) { [0]=> string(6) "B01002" [1]=> string(6) "超市" [2]=> string(12) "百佳超市" 这种格式。
我也有时候会碰到乱码,有时候又是好的,估计是微软excel问题。
是的,读取的前一部分内容还是正常的,后面也是正常的,但是中间就会有一部分读出像图片里那样。
问题已经解决了。是因为读取单个cell的内容,读取的结果可能是object类型,也可能是string类型,加上一个判断,修改下类型就好了。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
原声php 读取excel乱码_使用PHPExcel读取Excel文件时会读出乱码相关推荐
- python读excel乱码_解决Python2.7读写文件中的中文乱码问题
Python2.7对于中文编码的问题处理的并不好,这几天在爬数据的时候经常会遇到中文的编码问题.但是本人对编码原理不了解,也没时间深究其中的原理.在此仅从应用的角度做一下总结, 1.设置默认编码 在P ...
- php写excel文件_利用PHPExcel实现Excel文件的写入和读取
作为一个原本的Java党,用过PHP才知道,原来对于Excel文件的写入和读取原来可以这么简单! 利用PHP实现对于Excel的读取,主要借助于PHPExcel插件来完成. PHPExcel下载地址: ...
- java导出数据为乱码_传参导出Excel表乱码问题解决方法
业务场景 先描述一下业务场景,要实现的功能是通过搜索框填写参数,然后点击按钮搜索数据,将搜索框的查询参数获取,附加在链接后面,调导Excel表接口,然后实现导出Excel功能.其实做导Excel表功能 ...
- php获取excel时间,详细介绍PHPExcel读取Excel时间的示例代码
PHPExcel读取Excel 时间//读取Excel文件 $info = pathinfo ( $path ); $ext = $info ['extension']; $excelReader = ...
- php读取excel并导入数据,PHPExcel读取excel并导入数据库
PHPExcel是一款php对于excel数据表读写的一个非常棒的插件了,下面我来给大家介绍利用PHPExcel读取excel并导入mysql数据库方法. 例1,代码示例,代码如下:require_o ...
- java输出excel 异常处理_使用poi导出Excel,并设定单元格内容类型,抛出异常
本例子使用的是HSSF,为Excel2003提供处理方案. 设定为输入类型为数值 import org.apache.poi.hssf.usermodel.DVConstraint; import o ...
- excel随机数_数据分析常用的excel函数(2)
绝对引用与相对引用 先看一个例子:$L$3单元格输出的函数表达式,然后向右拉,excel默认是相对引用:所以最终$M$3:$S$3平均值都不一样.(具体看图清晰) 现在我的需求是:$L$3:$S$3所 ...
- python怎么读取sav格式_利用Python读取外部数据文件
利用Python读取外部数据文件 [color=rgb(0, 0, 0) !important]刘顺祥 [color=rgb(0, 0, 0) !important]摘要: 不论是数据分析,数据可视化 ...
- python入门文件读取与写入_使用Python对Dicom文件进行读取与写入的实现
Pydicom 单张影像的读取 使用 pydicom.dcmread() 函数进行单张影像的读取,返回一个pydicom.dataset.FileDataset对象. import os import ...
最新文章
- c语言combine函数,combine
- hub,桥,交换机,路由器的区别
- 使用awk取passwd10-20行然后重定向
- 防止表单按钮多次提交
- 支付宝和微信的JSSDK发起支付
- [note]抽象类和接口的相同点和不同点
- 学生成绩abcde怎样划分_7月学考成绩出来啦!
- 2194. Excel 表中某个范围内的单元格
- iphone电压测试软件,电压电击iPhone结果会怎样? 通过测试后, 照样可以正常开机...
- docker mysql 高可用_使用docker 基于pxc镜像搭建mysql高可用集群
- mysql热备 binlog日志切割_查看MySQL还原出来的binlog日志中内容方法
- c语言代码 txt下载,贪吃蛇C语言代码.txt
- 二阶系统响应指标图_频率响应介绍_二阶系统的频率响应
- 谷歌“Adobe Flash Player已被屏蔽”的解决办法
- ubuntu 20安装NVIDIA驱动并处理蓝色背景的界面 perform mok management
- 设计模式——使用TypeScript实现代理模式
- tomcat 配置文件 conf/server.xml 中的 appBase和docBase
- 六度分离 HDO 1869 Floyd
- 【数据结构算法】小结
- 净利率远低同行,诺威健康如何在CRO跑道上争排位?