thinkphp 导入excel 多张工作表

thinkphp 导入excel 多张工作表,第1张

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('添加成功')

}

向两个表插入数据,要写两个表的插入sql语句,你先写主表的插入语句,插入成功会返回一个主键编号,你利用这个编号作为附表的条件再写附表的插入语句就行了。。。

或者你查询出主表的id最大值,在最大值的基础上加 1 ,作为附表的条件插入数据...

不知道这样子说你是否明白


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11369567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存