一:导入phpexcel
/ThinkPHP/Library/Vendor/PHPExcel 二:导入excel的函数
/** * 导入excel文件 * @param string $file excel文件路径 * @return array excel文件内容数组 */ function import_excel($file){ // 判断文件是什么格式 $type = pathinfo($file); $type = strtolower($type["extension"]); $type=$type==='csv' ? $type : 'Excel5'; ini_set('max_execution_time', '0'); Vendor('PHPExcel.PHPExcel'); // 判断使用哪种格式 $objReader = PHPExcel_IOFactory::createReader($type); $objPHPExcel = $objReader->load($file); $sheet = $objPHPExcel->getSheet(0); // 取得总行数 $highestRow = $sheet->getHighestRow(); // 取得总列数 $highestColumn = $sheet->getHighestColumn(); //循环读取excel文件,读取一条,插入一条 $data=array(); //从第一行开始读取数据 for($j=1;$j<=$highestRow;$j++){ //从A列读取数据 for($k='A';$k<=$highestColumn;$k++){ // 读取单元格 $data[$j][]=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue(); } } return $data; }
三:调用示例 先用之前文章生成excel的方法分别生成了xls和csv格式的表格放在了/Upload/excel/目录下; 当然正常导入的话;是需要用户上传excel文件的; 这里就略过上传的过程;直接写的是传入文件路径调用函数的了; /Application/Home/Controller/IndexController.class.php
/** * 导入excel数据 */ public function import(){ // 导入csv格式的数据 $data=import_excel('./Upload/excel/simple.csv'); p($data); // 导入xls格式的数据 $data=import_excel('./Upload/excel/simple.xls'); p($data);die; }