我想上傳一個 50K 行的 excel 檔案,但是當我上傳 2k 行時無法讀取它們,它作業正常并且資料也上傳到資料庫(MySQL)中,但是當我嘗試一次上傳 50K 行時它甚至沒有顯示也是錯誤。所以我的要求是使用 SpreadsheetReader_XLSX 一次上傳 50K 行和 40 列
uj5u.com熱心網友回復:
示例代碼:
$content = ""; //$content value is null when creating
for($i=0;$i<10;$i ){//runs ten times
//set $content for ten times
$content .= "John,Doe,2021,12,07,".time().",".$i."\n";
}
$myfile = fopen("myexcel.csv", "a");
fwrite($myfile, $content);
fclose($myfile);
輸出 excel (.csv):
:
uj5u.com熱心網友回復:
由于 php/mysql 的記憶體限制問題,您收到錯誤訊息。為了解決這個問題,您可以將 excel 檔案分塊并將其上傳到資料庫。按照以下代碼作為參考。
$fileName=uploadFile($_FILES['excelFile'],array(".csv"),"excel_file");
$row=0;
if(($handle = fopen("excel/".$fileName , "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$num = count($data);
//print_r($data);
$query="INSERT INTO StudentData(FirstName,LastName,MobileNo,City)VALUES('".$data[0]."','".$data[1]."','".$data[2]."','".$data[3]."')";
//use prepare statement for inserting data by pdo/mysqli prepare
}
fclose($handle);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/393494.html
上一篇:當我去發布細節時,網址被破壞了
