我使用php
來開發我的網站,我需要能夠瀏覽並上傳Excel
工作表。然後我需要將這些信息存儲在SQL
數據庫中。通過網站將Excel工作表數據上傳到SQL數據庫中
我意識到這是一個相對懸而未決的問題,但我已經找到了關於如何做到這一點的信息,並沒有太多的瞭解。將數據存儲在SQL數據庫中很好,但我不確定如何上傳電子表格以便網站可以讀取它。
如果任何人都可以指出我正確的方向,我將不勝感激。
我使用php
來開發我的網站,我需要能夠瀏覽並上傳Excel
工作表。然後我需要將這些信息存儲在SQL
數據庫中。通過網站將Excel工作表數據上傳到SQL數據庫中
我意識到這是一個相對懸而未決的問題,但我已經找到了關於如何做到這一點的信息,並沒有太多的瞭解。將數據存儲在SQL數據庫中很好,但我不確定如何上傳電子表格以便網站可以讀取它。
如果任何人都可以指出我正確的方向,我將不勝感激。
這個問題包含了很多的話題,我會嘗試爲了解決您手頭的問題,需要注意什麼是簡短的總結。
(1)文件上傳
首先,你必須做的一個上傳可用。基本上你至少有兩個組件。
實施例的HTML代碼:
<form action="your_upload_script.php" method="post" enctype="multipart/form-data">
Your XLS file: <input type="file" name="xlsfile" size="50" />
<input type="submit" name="submit" value="Submit" />
</form>
一個簡單的,但固體例如PHP代碼可以發現here。
請記住,上傳文件可能會有更多的問題,p.e.規範的上傳大小等。
(2)解析Excel文件
現在你的文件上傳,你必須分析它。我推薦使用PHPExcel,這是...
...爲PHP編程 語言提供一組類別的項目,它允許您寫入和讀取不同的 電子表格文件格式,如Excel(BIFF).xls,Excel 2007 (OfficeOpenXML).xlsx,CSV,Libre/OpenOffice計算器的.ods,Gnumeric的,PDF,HTML ...
(3)存儲在你的表
值雖然或分析電子表格後,你最終不得不將其存儲在你的桌子。不管你做什麼,請不要在php中使用舊的mysql連接器,因爲這個連接已經過時並且不推薦使用。改爲使用mysqli或PDO。
再一次,這只是一個小故事。你最終會遇到更多的挑戰和問題。
非常有幫助 - 謝謝 – RGriffiths
首先,您的Excel文件必須是CSV格式,否則在數據庫中插入數據會很困難(例如您必須使用PhpExcel解析數據)。
如果您的Excel文件是CSV文件,那麼您必須使用LOAD DATA INFILE。
這裏你可以看到一個例子:https://stackoverflow.com/a/10897669/1788704
非常有幫助 - 謝謝。 – RGriffiths
則可以將文件導出爲CSV,上傳與fgetcsv()
解析它。從PHP manual:
$row = 1;
if (($fh = fopen("excel.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$num = count($data);
$row++;
for ($c=0; $c < $num; $c++) {
//make query and insert into database
}
}
fclose($handle);
}
謝謝。非常有用 - 將閱讀此。 – RGriffiths
因此,用於讀取Excel文件的數十種PHP庫(例如[PHPExcel](https://github.com/PHPOffice/PHPExcel))或者將其轉換爲CSV並使用MySQL的'LOAD DATA INFILE'選項 - 你決定使用哪一個?你有什麼問題嗎? –
非常好 - 謝謝。將通過此看。 – RGriffiths