在ACTION中设置上传文件并获袜滚取文件:
import('ORG.Net.UploadFile')
$upload = new UploadFile()// 实例化告宏余上传类
$upload->maxSize = 3145728// 设置附件上传大小
$upload->allowExts = array('xls')// 设置附件上传类型
$upload->savePath = './Uploads/'// 设置附件上传目录
if(!$upload->upload()) {// 上传错误提示错误信息
$this->error($upload->getErrorMsg())
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo()
}
$filetmpname = './Uploads/'.$info[0]['savename']
下面就需要使用phpexcel来解析
Vendor('Classes.PHPExcel')
$objPHPExcel = PHPExcel_IOFactory::load($filetmpname)
$excelarray= $objPHPExcel->getSheet(0)->toArray()
unlink($filetmpname)//删除上传的文件
//你要注意,excel表中如果从第一行的数据开始导入,那么直接按照下面的代码就可以,如果有表头之类的不需要的行,那么就是用 array_shift先删除数组中不需要的行
//循环给数据字段赋值
foreach($excelarr as $k=>$v){
$data[$k]['字段1']=$v[1]
$data[$k]['字段2']=$v[2]
$data[$k]['字段3']=$v[3]
$data[$k]['字段4']=$v[4]
$data[$k]['字段5']=$v[5]
}
上面的步骤就是获取了表格中的数据并赋值给了数组,绝改下面就可以直接插入到数据库中了
$list=$charu=D('数据表名')->addAll($data)
非常简单吧,至于数据中的类型和验证等,自己在需要的位置设定就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)