個別のセルを使用して PHP で MySQL データを Excel にエクスポートする
MySQL データを Excel にエクスポートするときに問題が発生しました。行の値ごとに個別のセルではなく、単一のセルに表示されます。この記事は、コードの各行に対処し、適切な変更を推奨することで、この問題の解決策を提供することを目的としています。
Line 12: $count = mysql_num_fields($result);
この行は、結果セット内の列の数をカウントし、それを変数 $count.
行 14: $header .= mysql_field_name($result, $i) に割り当てます。 "\t";
この行は、列名をタブで区切って $header 変数に追加します。
24 行目: if(!isset($value) || $value == ""){ $value = "\t"; }
この行では、セルの値が空または未定義の場合、タブに置き換えられます。これにより、すべてのセルに少なくともスペースが含まれるようになります。
28 行目: $data .=rim($line)."\n";
ここでは、トリミングされたデータ行は、newlines で区切られて $data 変数に追加されます。
Line 38: header("Content-Disposition:attachment; filename=exportfile.xls");
この行では、ブラウザーがファイルを exportfile.xls という名前の Excel ドキュメントとしてダウンロードするようにヘッダーが設定されています。
52 行目: $result = @mysql_query( $sql,$Connect) または die("クエリを実行できませんでした:
" .mysql_error(). "
" .mysql_errno());
この行は SQL クエリを実行します
Line 63: header("Pragma: no-cache"); and header("Expires: 0");
これらのヘッダーは、リクエストごとに最新のデータが確実にダウンロードされるようにキャッシュを無効にします。
Line 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