本文目錄一覽:
php怎麼導入excel
fgetcsv 只能導入csv 的文件, 你需要再excel工具裏面把excel 文件轉換成csv格式
PHP Excel大批量導入崩潰怎麼辦?
項目需要批量導入excel文件,如果裏面有重複的數據要怎麼處理呢?每插入一次數據都要到數據庫查詢么?
回復內容:
項目需要批量導入excel文件,如果裏面有重複的數據要怎麼處理呢?每插入一次數據都要到數據庫查詢么?
1、如果裏面有重複的數據要怎麼處理呢?
1
code可以先判斷數據庫是否有該數據。/code
2、每插入一次數據都要到數據庫查詢么
1
code是的。/code
先去重得到沒有重複的數據,再批量插入數據庫。也可以嘗試MYSQL中的insert ignore into或 replace into
如果查詢比較慢,對不能重複的字段加唯一鍵,然後用INSERT IGNORE INTO
php批量導入數據出錯
我現在要做的是,把一個產品數據從EXCEL中導入到PHP的MYSQL中,導入的過程中,總是會提示「Allowed memory size of 167772160 bytes exhausted (tried to allocate 689919 bytes) in D:\wamp\www\Company\product\admin\uploadOrder.php on line 167」這個錯誤,然後我分成第100條導入時,就不會提示這個錯誤,這個是不是內存溢出,有沒有好的解決方法呢?
——解決方案——————–
php.ini中講memory_limit選項設置大一點,然後重啟apache或nginx就行了
——解決方案——————–
文件太大了,這樣的話可以用source命令直接導入!
——解決方案——————–
為什麼php導入excle出錯
//php獲取form表單提交的文件信息
$file = $_FILES[‘execl’][‘name’];
$tmp_name = $_FILES[‘execl’][‘tmp_name’];
//移動上傳的文件function d_file_move($file,$filetempname){ $filePath = “./upfile/”;//設置上傳文件的路徑 if(!is_dir($filePath)) mkdir($filePath);//檢查並創建文件夾 $time = date(‘YmdHis’,time());//設置文件名,注意設置時區 $extend = strchr($file,’.’);//獲取文件後綴 $name = $time.$extend;//設置上傳後完整的文件名 $uploadfile = $filePath.$name;//文件路徑 $res = move_uploaded_file($filetempname,$uploadfile);//通過move_uploaded_file函數移動文件到指定目錄 if($res) return $uploadfile;//如果成功返回當前文件路徑 return false;}
//通過調用d_file_move函數來移動form表單上傳的文件
$file_name = $this-d_file_move($file,$tmp_name);
現在再使用PHP批量導入excel的類,來讀取移動後的文件路徑,如:
$data = new Spreadsheet_Excel_Reader(); $data-setOutputEncoding(‘utf-8’); $resval = $data-read($file_name);
這樣就可以避開
The filename *.xls is not readable
原創文章,作者:EKGO,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/148921.html