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

ThinkPHP实现excel的批量导入功能

程序员文章站 2024-02-17 21:18:58
...
从网上找了半天excel的批量导入都没成功,在折腾了一上午之后终于做出来啦,现在贡献给大家,上代码
需要引入excel类,自己去下载,http://phpexcel.codeplex.com/releases/view/26478, 将Classes文件夹放入ThinkPHP\Extend\Vendor\位置。public function uploadFile(){
$filetmpname = APP_PATH.'public/Uploads/624.xls';
Vendor('Classes.PHPExcel');
$objPHPExcel = PHPExcel_IOFactory::load($filetmpname);
$arrExcel = $objPHPExcel->getSheet(0)->toArray();
//删除不要的表头部分,我的有三行不要的,删除三次
array_shift($arrExcel);
array_shift($arrExcel);
array_shift($arrExcel);//现在可以打印下$arrExcel,就是你想要的数组啦

//查询数据库的字段
$m = M('swt');
$fieldarr = $m->query("describe kefu_swt");
foreach($fieldarr as $v){
$field[] = $v['Field'];
}
array_shift($field);//删除自动增长的ID
//循环给数据字段赋值
foreach($arrExcel as $v){
$fields[] = array_combine($field,$v);//将excel的一行数据赋值给表的字段
}
//批量插入
if(!$ids = $m->addAll($fields)){
$this->error("没有添加数据");
}
$this->success('添加成功');
}

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