在PHP 中使用單獨的單元格將MySQL 資料匯出到Excel
您在將MySQL 資料匯出到Excel 時遇到問題,其中所有文字顯示在單一儲存格中,而不是每個行值的單獨儲存格中。本文旨在透過解決每一行程式碼並建議適當的變更來提供此問題的解決方案。
第 12 行: $count = mysql_num_fields($result);
此行計算結果集中的列數,並將其指派給變數 $count。
第 14 行: $header .= mysql_field_name($result, $i)。 "\t";
此行將列名追加到 $header 變數中,以製表符分隔。
第24 行: if(!isset($value) || $值== ""){ $值= "\t"; }
在此行中,如果儲存格值為空或未定義,則將其替換為製表符。這確保每個單元格至少有一個空格。
第28 行: $data .= trim($line)."\n";
這裡,修剪後的資料行附加到$data 變量,以換行符號分隔。
第38 行: header("Content-Disposition: Attachment; filename=exportfile.xls");
在這一行中,標頭設定為強制瀏覽器將檔案下載為名為exportfile.xls的Excel文件。
第52行: $result = @mysql_query( $sql,$Connect) 或die("無法執行查詢:
" .mysql_error(). "
" .mysql_errno());
這一行執行SQL 查詢並處理任何潛在的錯誤。
第63 行: header("Pragma: no-cache"); and header("Expires: 0");
這些標頭禁用緩存,以確保每次請求時下載最新資料。
第 92 行: print trim( $schema_insert);
在這一行中,列印修剪後的資料。
增強程式碼:
這是程式碼的增強版本這應該可以解決將資料匯出到Excel 中單獨儲存格的問題:
$DB_Server = "localhost";
$DB_Username = "username";
$DB_Password = "password";
$DB_DBName = "databasename";
$DB_TBLName = "tablename";
$filename = "excelfilename";
$sql = "Select * from $DB_TBLName";
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect to MySQL:<br>" . mysql_error() . "<br>" . mysql_errno());
$Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database:<br>" . mysql_error(). "<br>" . mysql_errno());
$result = @mysql_query($sql,$Connect) or die("Couldn't execute query:<br>" . mysql_error(). "<br>" . mysql_errno());
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=$filename.xls");
header("Pragma: no-cache");
header("Expires: 0");
$count = mysql_num_fields($result);
for ($i = 0; $i
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3