thinkphp PHPExcel导入到数据库,但是没有数据,插入的数据全是空白的。求解答

浏览:2730 发布日期:2015/05/11 分类:求助交流 关键字: thinkPHP 数据导入,PHPExcel导入
//上传方法
public function upload()
{
header("Content-Type:text/html;charset=utf-8");
import('ORG.Net.UploadFile');
$upload = new UploadFile();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('xls', 'xlsx');// 设置附件上传类
$upload->savePath = './Uploads/file/';// 设置附件上传目录
// 上传文件
$info = $upload->uploadOne($_FILES['excelData']);
$filename = './Uploads/file/'.$info[0]['savename'];
$exts = 'xls';
//$exts = $info['ext'];
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功
$this->import($filename);
}
}
//导入数据方法
public function import($filename){
import("ORG.Net.PHPExcel");

$objReader = PHPExcel_IOFactory::createReader('Excel5');
$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();
}
}

foreach ($excelData as $k=>$v){
if($k == 1) { continue; } //如果是第一行则跳过
$info[$k]['name'] = $v[$k]['B'];
$info[$k]['type'] = $v[$k]['C'];
$info[$k]['number'] = $v[$k]['D'];
$info[$k]['sex'] = $v[$k]['E'];
$info[$k]['area'] = $v[$k]['F'];
$info[$k]['score1'] = $v[$k]['G'];
$info[$k]['score2'] = $v[$k]['H'];
$info[$k]['score3'] = $v[$k]['I'];
$info[$k]['score'] = $v[$k]['J'];
$info[$k]['ranking'] = $v[$k]['K'];
$info[$k]['day1'] = $v[$k]['L'];
$info[$k]['day2'] = $v[$k]['M'];
$info[$k]['day3'] = $v[$k]['N'];
$result = M('Score')->add($info[$k]);
}
if($result){
$this->success('产品导入成功', U(GROUP_NAME. '/Score/index'));
}else{
$this->error('产品导入失败');
}
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>