<?php namespace think; use PHPExcel_IOFactory; use PHPExcel_Cell; use PHPExcel; /** * 读取Excel数据 */ class ExcelToArrary { public function __construct() { //这些文件需要下载phpexcel,然后放在vendor文件里面 vendor("PHPExcel.PHPExcel.PHPExcel"); vendor("PHPExcel.PHPExcel.Writer.IWriter"); vendor("PHPExcel.PHPExcel.Writer.Abstract"); vendor("PHPExcel.PHPExcel.Writer.Excel5"); vendor("PHPExcel.PHPExcel.Writer.Excel2007"); vendor("PHPExcel.PHPExcel.IOFactory"); } public function read($filename, $encode, $file_type){ if(strtolower ( $file_type ) == 'xls'){ //判断excel表类型为2003还是2007 Vendor("Excel.PHPExcel.Reader.Excel5"); $objReader = PHPExcel_IOFactory::createReader('Excel5'); $objReader = PHPExcel_IOFactory::createReader('Excel5'); } elseif (strtolower ( $file_type )=='xlsx') { Vendor("Excel.PHPExcel.Reader.Excel2007"); $objReader = PHPExcel_IOFactory::createReader('Excel2007'); } $objReader->setReadDataOnly(true); $objPHPExcel = $objReader->load($filename); $objWorksheet = $objPHPExcel->getActiveSheet(); $highestRow = $objWorksheet->getHighestRow(); $highestColumn = $objWorksheet->getHighestColumn(); $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); $excelData = array(); for ($row = 1; $row <= $highestRow; $row++) { for ($col = 0; $col < $highestColumnIndex; $col++) { $excelData[$row][] =(string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue(); } } return $excelData; } }