我使用php創建了一個網站。在那個網站上,我想創建一個類似於東西的報告,它涉及將一個表格中的細節傳輸到可下載的Excel表格。是否有任何方法可以完成這項工作?請幫我找到解決方案。將數據從Mysql傳輸到excel
謝謝。
我使用php創建了一個網站。在那個網站上,我想創建一個類似於東西的報告,它涉及將一個表格中的細節傳輸到可下載的Excel表格。是否有任何方法可以完成這項工作?請幫我找到解決方案。將數據從Mysql傳輸到excel
謝謝。
您可以從數據庫中提取所有行並使用fputcsv f將其視爲csv
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment;filename=export.csv");
header("Content-Transfer-Encoding: binary");
$csvHandler = fopen("php://output", 'w');
while ($row = mysql_fetch_array ($res))
{
fputcsv($csvHandler, $row);
}
當我執行這個它生成excel工作表html文件contents.so你能告訴我什麼可能出錯了嗎? –
對不起,我犯了一些錯誤。現在工作正常。謝謝。但是我能否通過php設置列名? –
但這顯示了一個列兩次。 –
可以使用PHPExcel生成數據
和文件下載一個簡單的函數:
function show_download($data, $name, $type = "unknown/unknown") {
header('Content-Type: ' . $type);
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: attachment; filename="' . $name . '"');
header('Content-Length: ' . strlen($data));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
print $data;
exit();
}
您可以創建可導出CSV文件中像這樣的腳本:
header('Content-type: text/csv');
header("Content-Disposition: attachment; filename=clients_" . date("Ymd") . ".csv");
//Open PHP output stream
$fd = fopen('php://output', 'w');
$tab = array();
//get your results from your database
foreach ($results as $res)
$tab[] = array($res->Client_Name, $res->Client_Email);
foreach ($tab as $val)
fputcsv($fd, $val);
fclose($fd);
我收到爲foreach()提供的錯誤無效參數。我的選擇查詢看起來像這樣 ** $ query1 =「select * from login」; \t $ result1 = mysql_query($ query1)或死亡(mysql_error()); ** –
[PHPExcel](http://phpexcel.codeplex.com/downloads/get/212184)實用程序。 – Lion
那麼你已經做了什麼努力? –
問題下面的標籤暗示MySQL,問題標題暗示MS-SQlServer。請具體問題。 – Lion