欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHPExcel类添加excel文件中的数据到Mysql中

程序员文章站 2022-06-14 10:38:11
...
如题
不说别的了,直接上代码。本人是个菜菜,刚学thinkphp框架,请各位高手多多指教!!测试过可以添加,不知道文件太大了效率怎么样。 // 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$this->display();
}

Public function upload(){
import('ORG.Net.UploadFile');
$upload = new UploadFile();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->allowExts = array('xls','xlsx','csv');// 设置附件上传类型
$upload->savePath = './Public/Uploads/';// 设置附件上传目录
if(!$upload->upload()) {// 上传错误提示错误信息
$this->error($upload->getErrorMsg());
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}

//加载第三方类库PHPExcel
vendor('phpexcel.PHPExcel');
vendor('phpexcel.PHPExcel.IOFactory');
vendor('phpexcel.PHPExcel.Reader.Excel5');
vendor('phpexcel.PHPExcel.Reader.Excel2007');

// 加载excel文件
$inputfilename=$info[0]['savepath'].$info[0]['savename'];
$extension=$info[0]['extension'];
switch ($extension) {
case 'xls':
$objReader = new PHPExcel_Reader_Excel5();
break;
case 'xlsx':
$objReader = new PHPExcel_Reader_Excel2007();
break;
case 'csv':
$objReader = new PHPExcel_Reader_CSV();
break;
default:
$this->error('上传的文件类型不匹配');
break;
}

$objPHPExcel = $objReader->load($inputfilename);
$currentsheet = $objPHPExcel->getActiveSheet();//获取活动工作薄
$allcolumn = $currentsheet->getHighestColumn();//获取最大列数
$allrow = $currentsheet->getHighestRow();//获取最大行数
$allcolumnindex = PHPExcel_Cell::columnIndexFromString($allcolumn);//将列数的字母索引转换成数字
//建立模型
$data = M('data');
//读取excel文件中的数据
for($row=2;$row $str=array();
for($column=0;$column $str[$column]=$currentsheet->getCellByColumnAndRow($column,$row)->getValue();
}
//赋值到数组中
$record=array(
'username' => $str[0],
'password' => $str[1],
'idcard' => $str[2],
);
//把数据插入到数据库中
$data->create($record);
$data->add();
}

}
}

AD:真正免费,域名+虚机+企业邮箱=0元