我前几天刚好也用到了PHP读取Excel我用的是phpexcel最新的版本。
下面是代码
require_once './PHPExcel/PHPExcel.php';
$_ReadExcel = new PHPExcel_Reader_Excel2007();
//为了可以读取所有版本Excel文件
if(!$_ReadExcel->canRead(PATH.'/'.$_data['path'])) $_ReadExcel = new PHPExcel_Reader_Excel5();
//不需要读取整个Excel文件而获取所有工作表数组的函数,感觉这个函数很有用,找了半天才找到
// $_sheetNames = $_ReadExcel->listWorksheetNames(PATH.'/'.$_data['path']);
//读取Excel文件
$_phpExcel = $_ReadExcel->load(PATH.'/'.$_data['path']);
//获取工作表的数目
$_sheetCount = $_phpExcel->getSheetCount();
$_newExcel = array();
$_excelData = array();
//循环工作表
for($_s = 0;$_s
//选择工作表
$_currentSheet = $_phpExcel->getSheet($_s);
//取得一共有多少列
$_allColumn = $_currentSheet->getHighestColumn();
//取得一共有多少行
$_allRow = $_currentSheet->getHighestRow();
for($_r = 2;$_r<=$_allRow;$_r++){
for($_currentColumn='A';$_currentColumn<=$_allColumn;$_currentColumn++){
$address = $_currentColumn.$_r;
$_newExcel[] = $_currentSheet->getCell($address)->getValue();
}
// 内部判断未详细
$_excelData['customer_name'] = $_newExcel[0];//客户姓名
$_excelData['customer_tel'] = $_newExcel[1];//客户手机
$_excelData['staff_id'] = $_data['staff_id'];//员工表id,先默认为0 -》发展人
$_excelData['tpl_id'] = $_data['tpl_id'];//模板id
$_excelData['activity_id'] = $_data['activity_id'];//模板id
$_excelData['mark'] = 1;//发送标记1为未发送的短信
$_excelData['status'] = 2;//是否完成认证2未完成
$_excelData['send_id'] = $_SESSION[C('USER_AUTH_KEY')]['id'];//短信发送人
$_excelData['posttime'] = time();
// 清空表数组
$_newExcel = array();
// // 写入数据库
$_status = $this->table(C('DB_PREFIX').'records')->data($_excelData)->add();
$_start++;
if ($_start === 1) $startId = $_status;
// 错误返回错误信息
if (!$_status) return Tool::_return_check(false,'Excel文件写入数据库失败,错误姓名'.$_excelData['customer_name'].',请检查!!!');
}
unset($_currentSheet);
}
你要是没有最新的,email我,我可以发给你