用phpexcel导入数据到数据库,自己写的,不知道有没有什么问题
<?php
class ExcelAction extends Action {
function index(){
$this->display();
}
function addexl(){
import('ORG.Net.UploadFile');
$upload = new UploadFile();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg','xls');// 设置附件上传类型
$upload->savePath = './Public/Uploads/';// 设置附件上传目录
//$upload->saveRule = date('Ymdhm');
if(!$upload->upload()) {
$this->error($upload->getErrorMsg()); // 上传错误提示错误信息
}else{
$info = $upload->getUploadFileInfo();// 上传成功 获取上传文件信息
$this->success('上传成功');
$file['pic_file']=$upload->savePath.$info[0]['savename'];//获取上传文件资源
//echo $data['pic_file'];
}
Vendor("Classes.PHPExcel");//引入phpexcel类(注意你自己的路径)
Vendor("Classes.PHPExcel.IOFactory");
Vendor("Classes.PHPExcel.Reader.Excel5");
Vendor("Classes.PHPExcel.Reader.Excel2007");
$objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format
$objPHPExcel = $objReader->load($file['pic_file']);
$excelarray=$objPHPExcel->getsheet(0)->toArray();
array_shift($excelarray);//将第一行移出数组
unlink($file['pic_file']);//删除上传文件
foreach($excelarray as $k=>$v){
$data[$k]['sf']=$v[0];//$data[$k]['sf']对应数据库字段,$v[0]对应excel索引
$data[$k]['ksh']=$v[1];
$data[$k]['zkzh']=$v[2];
$data[$k]['xm']=$v[3];
$data[$k]['xbdm']=$v[4];
$data[$k]['sfzh']=$v[5];
$data[$k]['tdcj']=$v[6];
$data[$k]['tdzy']=$v[7];
}
//dump($data);die();
if($succ_result=M('date')->addAll($data)){
echo "插入成功".$succ_result."条数据!!!<br>";
}
}
}
?>