这是我读取文件的代码:

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文件时会读出乱码相关推荐

  1. python读excel乱码_解决Python2.7读写文件中的中文乱码问题

    Python2.7对于中文编码的问题处理的并不好,这几天在爬数据的时候经常会遇到中文的编码问题.但是本人对编码原理不了解,也没时间深究其中的原理.在此仅从应用的角度做一下总结, 1.设置默认编码 在P ...

  2. php写excel文件_利用PHPExcel实现Excel文件的写入和读取

    作为一个原本的Java党,用过PHP才知道,原来对于Excel文件的写入和读取原来可以这么简单! 利用PHP实现对于Excel的读取,主要借助于PHPExcel插件来完成. PHPExcel下载地址: ...

  3. java导出数据为乱码_传参导出Excel表乱码问题解决方法

    业务场景 先描述一下业务场景,要实现的功能是通过搜索框填写参数,然后点击按钮搜索数据,将搜索框的查询参数获取,附加在链接后面,调导Excel表接口,然后实现导出Excel功能.其实做导Excel表功能 ...

  4. php获取excel时间,详细介绍PHPExcel读取Excel时间的示例代码

    PHPExcel读取Excel 时间//读取Excel文件 $info = pathinfo ( $path ); $ext = $info ['extension']; $excelReader = ...

  5. php读取excel并导入数据,PHPExcel读取excel并导入数据库

    PHPExcel是一款php对于excel数据表读写的一个非常棒的插件了,下面我来给大家介绍利用PHPExcel读取excel并导入mysql数据库方法. 例1,代码示例,代码如下:require_o ...

  6. java输出excel 异常处理_使用poi导出Excel,并设定单元格内容类型,抛出异常

    本例子使用的是HSSF,为Excel2003提供处理方案. 设定为输入类型为数值 import org.apache.poi.hssf.usermodel.DVConstraint; import o ...

  7. excel随机数_数据分析常用的excel函数(2)

    绝对引用与相对引用 先看一个例子:$L$3单元格输出的函数表达式,然后向右拉,excel默认是相对引用:所以最终$M$3:$S$3平均值都不一样.(具体看图清晰) 现在我的需求是:$L$3:$S$3所 ...

  8. python怎么读取sav格式_利用Python读取外部数据文件

    利用Python读取外部数据文件 [color=rgb(0, 0, 0) !important]刘顺祥 [color=rgb(0, 0, 0) !important]摘要: 不论是数据分析,数据可视化 ...

  9. python入门文件读取与写入_使用Python对Dicom文件进行读取与写入的实现

    Pydicom 单张影像的读取 使用 pydicom.dcmread() 函数进行单张影像的读取,返回一个pydicom.dataset.FileDataset对象. import os import ...

最新文章

  1. c语言combine函数,combine
  2. hub,桥,交换机,路由器的区别
  3. 使用awk取passwd10-20行然后重定向
  4. 防止表单按钮多次提交
  5. 支付宝和微信的JSSDK发起支付
  6. [note]抽象类和接口的相同点和不同点
  7. 学生成绩abcde怎样划分_7月学考成绩出来啦!
  8. 2194. Excel 表中某个范围内的单元格
  9. iphone电压测试软件,电压电击iPhone结果会怎样? 通过测试后, 照样可以正常开机...
  10. docker mysql 高可用_使用docker 基于pxc镜像搭建mysql高可用集群
  11. mysql热备 binlog日志切割_查看MySQL还原出来的binlog日志中内容方法
  12. c语言代码 txt下载,贪吃蛇C语言代码.txt
  13. 二阶系统响应指标图_频率响应介绍_二阶系统的频率响应
  14. 谷歌“Adobe Flash Player已被屏蔽”的解决办法
  15. ubuntu 20安装NVIDIA驱动并处理蓝色背景的界面 perform mok management
  16. 设计模式——使用TypeScript实现代理模式
  17. tomcat 配置文件 conf/server.xml 中的 appBase和docBase
  18. 六度分离 HDO 1869 Floyd
  19. 【数据结构算法】小结
  20. 净利率远低同行,诺威健康如何在CRO跑道上争排位?

热门文章

  1. 奎屯电信助力智慧城市光网建设
  2. Selenium模拟光标进入和tab键移动
  3. 记一次使用 android 自带 WebView 做富文本编辑器之API、机型的兼容及各种奇葩bug的解决...
  4. eclipse安装maven插件
  5. MSN即将退役,即时通讯开放平台成趋势
  6. 在Browser Application中使用XNA
  7. RH033 Unit 2 Linux Usage Basics
  8. 《Head First Python》第五章--理解数据
  9. 动态规划之——又见拦截导弹(nyoj814)
  10. NYOJ 289 苹果