public function uploadFile(){
创新互联-专业网站定制、快速模板网站建设、高性价比兰州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式兰州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖兰州地区。费用合理售后完善,十余年实体公司更值得信赖。
$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('添加成功');
}
1、数据插入成功后会返回一个ID,这个ID就是插入成功的这条数据的ID。设置一个变量接受。
例如:$did=“mysql插入语句”;
2、接受到了后就可以将获取到的ID用另一条sql语句插入到另一个数据表中去了。
格式如下:
$did=“mysql插入语句”;
mysql_query("插入语句");这条插入语句写入上一条执行后返回的结果。
这样两个数表就相当于用ID关联了。
if ($strleng100){
//如果大于100条就每次写入100,休息1秒,然后继续写,直到写完为止
$write_count = floor($strleng/100);
while ($write_count 0){
for ($i=0;$i100;$i++){
echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)";//写100次就休息
}
//echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);";这样可以一次插入多条数据,效率更高
//参考
$write_count -=1 ;
sleep(1);
echo '休息1秒';
}
}
1、这个可以直接在同一个方法或者一个执行里面写两条插入SQL的语句的。
2、如果是有相关联的话 可以启用事务的模式。这样如果有一条没有执行成功,那么都无法成功
1、首先我们准备一个含有数据的Excel表格,表头和数据表中的表字段相对应。
2、在ThinkPHP中引入PHPExcel类库。
3、然后我们编写导入的PHP代码。
4、然后我们编写导出的PHP代码。
5、然后我们进行导出测试发现可以导出即可。