「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHP で個別のセルを使用して MySQL データを Excel にエクスポートする方法

PHP で個別のセルを使用して MySQL データを Excel にエクスポートする方法

2024 年 11 月 7 日に公開
ブラウズ:329

How to Export MySQL Data to Excel with Separate Cells in PHP?

個別のセルを使用して 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 
リリースステートメント この記事は次の場所に転載されています: 1729203864 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3