/**
* 读取excel文件
* @param string $file excel文件路径 以点开头 ./app/Uploads/excel/
* @return array 返回excel文件内容数组
*/
function import_excel($file)
{
Vendor('PHPExcel.PHPExcel'); //包的存放是\ThinkPHP\Extend\Vendor\PHPExcel
// 判断文件是什么格式
$type = pathinfo($file);
$type = strtolower($type["extension"]);
$type=$type==='csv' ? $type : 'Excel2007'; //这里需要与格式对应
ini_set('max_execution_time', '0');
// 判断使用哪种格式
$objReader = PHPExcel_IOFactory::createReader($type);
$objPHPExcel = $objReader->load($file);
$sheet = $objPHPExcel->getSheet(0);
// 取得总行数
//$highestRow = $sheet->getHighestRow();
// 取得总列数
//$highestColumn = $sheet->getHighestColumn();
//循环读取excel文件,读取一条,插入一条
$allColumn = $sheet->getHighestColumn(); //**取得最大的列号*/
$allRow = $sheet->getHighestRow(); //**取得一共有多少行*/
$ColumnNum = PHPExcel_Cell::columnIndexFromString($allColumn); // 列号 转 列数
$data = array();
for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){ //循环读取每个单元格的内容。注意行从1开始,列从A开始
for($colIndex=0;$colIndex<=$ColumnNum;$colIndex++){
$data[$rowIndex][] =(string)$sheet->getCellByColumnAndRow($colIndex, $rowIndex)->getValue();
}
}
return $data;
}
要点:
1、列的循环不能用 A<AC 这样,需要用数字。
2、文件路径需要用./开头。
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。