我想用php導出sql到csv,這就是我設法做到的。它運行良好,沒有兩件事情: 1.在csv中輸出的sql數據之前,出於某種原因我得到了當前頁面的HTML代碼。 2.如何更改表格標題行?想要重命名csv中的表頭列。從SQL導出數據從PHP到Excell
$result = $db->query("SELECT * FROM user_history WHERE member_id = '$user_id'");
$num_fields = $result->field_count;
$headers = array();
$headers[] = "Number";
for($i = 0; $i < $num_fields; $i++) {
$Obj = $result->fetch_field_direct($i);
$headers[] = $Obj->name."\t";
}
$current_date = date("y/m/d");
$filename = "MyFileName" . $current_date . ".csv";
$fp = fopen('php://output', 'w');
if ($fp && $result) {
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename='.$filename);
header('Pragma: no-cache');
header('Expires: 0');
echo "Title of Your CSV File\n\n";
// Write mysql headers to csv
fputcsv($fp, $headers);
$row_tally = 0;
// Write mysql rows to csv
while ($row = $result->fetch_array(MYSQLI_NUM)) {
$row_tally = $row_tally + 1;
echo $row_tally.",";
fputcsv($fp, array_values($row));
}
die;
}
那麼如果你做'$ header。= $ result-> fetch_field_direct($ i)。「\ t」;會發生什麼情況?將所有'\\ n'改爲'\ n'和'「\\ t」'改爲'「\ t」'並將'「\\ r」'改爲'「\ r」' – 2014-09-22 17:55:14
@ Fred-ii- Same事情。 – user3467855 2014-09-22 17:57:00