public function up()
{
$config['upload_path']="./uploads/source/excel/".date("Ymd");//文件上传目录
if(!file_exists("./uploads/source/excel/".date("Ymd"))){
mkdir("./uploads/source/excel/".date("Ymd"),0777,true);//原路径
}
$config['allowed_types'] = 'xls|xlsx';//允许上传后缀
$config['file_name'] = time();
$this->load->library('upload', $config);//导入上传类
if ( ! $this->upload->do_upload('file'))
{ var_dump(111);die;
$this ->form_validation->set_message('upload_excelfile_check' , $this->upload->display_errors());//返回报错信息到view
return false;
}else{
$data = $this->upload->data();//执行上传 //下面两个是phpexcel需要的,存在session方便调用,上传成功要unset掉
//$_SESSION['upload_excelfile_path']=$config['upload_path'].'/'.$data['file_name']; //文件名
//$_SESSION['upload_excelfile_ext']=$data['file_ext'];//后缀
$filename = $config['upload_path'].'/'.$data['file_name'];
$exts = $data['file_ext'];
}
$this->handle($filename,$exts);
}
public function handle($filename, $exts='xls'){
var_dump($filename);
var_dump($exts);
$this->load->library('PHPExcel'); //注意路径
//创建PHPExcel对象
$PHPExcel=new PHPExcel(); //如果excel文件后缀名为.xls,导入这个类
if($exts == '.xls'){
$this->load->library('/PHPExcel/Reader/PHPExcel_Reader_Excel5');
$PHPReader=new PHPExcel_Reader_Excel5();
}else if($exts == '.xlsx'){
$this->load->library('/PHPExcel/Reader/PHPExcel_Reader_Excel2007');//我修改了文件名,让类名和文件名相统一
$PHPReader=new PHPExcel_Reader_Excel2007();
}
$PHPExcel=$PHPReader->load($filename);
$currentSheet=$PHPExcel->getSheet(0); //获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
$allColumn=$currentSheet->getHighestColumn(); //获取总列数
$allRow=$currentSheet->getHighestRow(); //获取总行数
//循环获取表中的数据,$currentRow表示当前行,从哪行开始读取数据,索引值从0开始
for ($i = 2; $i <= $allRow; $i++) {
$data_p['name'] =$PHPExcel->getActiveSheet()->getCell("A" . $i)->getValue();
$data_p['tel'] =$PHPExcel->getActiveSheet()->getCell("B" .$i)->getValue();
//$result = 插入数据库 ; //每循环一次存一次这样就不会后面的数据被覆盖了
}
var_dump($data_p);die;
}
PHPExcel上传文件
最新推荐文章于 2021-03-12 08:16:03 发布