public function uploadFile(){
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比蘭州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式蘭州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋蘭州地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
$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);//現(xiàn)在可以打印下$arrExcel,就是你想要的數(shù)組啦
//查詢數(shù)據(jù)庫的字段
$m = M('swt');
$fieldarr = $m-query("describe kefu_swt");
foreach($fieldarr as $v){
$field[] = $v['Field'];
}
array_shift($field);//刪除自動增長的ID
//循環(huán)給數(shù)據(jù)字段賦值
foreach($arrExcel as $v){
$fields[] = array_combine($field,$v);//將excel的一行數(shù)據(jù)賦值給表的字段
}
//批量插入
if(!$ids = $m-addAll($fields)){
$this-error("沒有添加數(shù)據(jù)");
}
$this-success('添加成功');
}
1、數(shù)據(jù)插入成功后會返回一個ID,這個ID就是插入成功的這條數(shù)據(jù)的ID。設置一個變量接受。
例如:$did=“mysql插入語句”;
2、接受到了后就可以將獲取到的ID用另一條sql語句插入到另一個數(shù)據(jù)表中去了。
格式如下:
$did=“mysql插入語句”;
mysql_query("插入語句");這條插入語句寫入上一條執(zhí)行后返回的結(jié)果。
這樣兩個數(shù)表就相當于用ID關聯(lián)了。
if?($strleng100){
//如果大于100條就每次寫入100,休息1秒,然后繼續(xù)寫,直到寫完為止
$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);";這樣可以一次插入多條數(shù)據(jù),效率更高
//參考
$write_count?-=1?;
sleep(1);
echo?'休息1秒';
}
}
1、這個可以直接在同一個方法或者一個執(zhí)行里面寫兩條插入SQL的語句的。
2、如果是有相關聯(lián)的話 可以啟用事務的模式。這樣如果有一條沒有執(zhí)行成功,那么都無法成功
1、首先我們準備一個含有數(shù)據(jù)的Excel表格,表頭和數(shù)據(jù)表中的表字段相對應。
2、在ThinkPHP中引入PHPExcel類庫。
3、然后我們編寫導入的PHP代碼。
4、然后我們編寫導出的PHP代碼。
5、然后我們進行導出測試發(fā)現(xiàn)可以導出即可。