PHPexcel自动判断excel类型并读取excel所有sheet内容
- include "PHPExcel.php";
- /*
- * 读取excel表数据
- */
- public function readExcel($filename){
- $pathinfo = pathinfo(strtolower($filename));
- if($pathinfo['extension'] == 'xlsx'){
- $PHPReader = new PHPExcel_Reader_Excel2007();
- //if(!$PHPReader->canRead($filePath)){
- }elseif($pathinfo['extension'] == 'xls'){
- $PHPReader = new PHPExcel_Reader_Excel5();
- }else{
- return 'not support file type';
- }
- $PHPExcel = $PHPReader->load($filename);
- // echo is_object($PHPExcel).'mmm';exit; //查看是否初始化成功
- //获取工作表的数目
- $sheetCount = $PHPExcel->getSheetCount();
- for($i = 0; $i < $sheetCount; $i++){
- /**读取excel文件中的第一个工作表*/
- $currentSheet = $PHPExcel->getSheet($i);
- /**取得最大的列号*/
- $allColumn = $currentSheet->getHighestColumn();
- /**取得一共有多少行*/
- $allRow = $currentSheet->getHighestRow();
- /**从第二行开始输出,因为excel表中第一行为列名*/
- for($currentRow = 1; $currentRow <= $allRow; $currentRow++){
- /**从第A列开始输出*/
- $row = [];
- for($currentColumn= 'A'; $currentColumn <= $allColumn; $currentColumn++){
- /**ord()将字符转为十进制数*/
- $val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();
- /**如果输出汉字有乱码,则需将输出内容用iconv函数进行编码转换,如下将gb2312编码转为utf-8编码输出*/
- //$val = $currentSheet->getCell($currentColumn.$currentRow)->getValue();
- if($val instanceof PHPExcel_RichText){//富文本转换字符串
- $val = $val->__toString();
- }
- $row[] = $val;
- }
- //echo "</br>";
- if(!empty($row)) $sheetdata[] = $row;
- unset($row);
- }
- $data['sheet'.$i] = $sheetdata;
- $currentSheet = $sheetdata = null;
- }
- return $data;
- }
- 打印结果$data:
- Array
- (
- [sheet0] => Array
- (
- [0] => Array
- (
- [0] => id
- [1] => uid
- [2] => 昵称
- [3] => 状态
- [4] => 原因
- [5] => ip
- [6] => 手机
- [7] => 时间
- )
- [1] => Array
- (
- [0] => 592
- [1] => 25
- [2] => 0000null
- [3] => 正常
- [4] => 没有原因的原因
- [5] => 195.168.1.5
- [6] => 13800138000
- [7] => 2016-11-23 10:11:49
- )
- )
- [sheet1] => Array
- (
- [0] => Array
- (
- [0] => 列1
- [1] => 列2
- [2] => 列3
- )
- [1] => Array
- (
- [0] => 111值1
- [1] => 222佱2
- [2] => 333值3
- )
- )
- )
- 青云大叔出品,必属精品。