PHP で MySQL データを Excel にエクスポート: セル集約を解決する
PHP を使用して MySQL データを Excel にエクスポートする場合、一般的に次の問題が発生します。テキストは単一のセルに限定されます。これを解決するには、各行の値が独自のセルを占有するようにする必要があります。
あなたが提供した元のコードは、mysql_fetch_assoc を使用して行の値をフェッチし、ループすることでデータをエクスポートしようとします。ただし、このメソッドは連想配列を返します。これは、すべての行の値が単一の配列要素に格納されることを意味します。値を個々のセルに分割するには、代わりに mysql_fetch_row を使用する必要があります。
コードの変更部分は次のとおりです:
$result = mysql_query($queryexport); $header = ''; for ($i = 0; $i < mysql_num_fields($result); $i++) { $header .= mysql_field_name($result, $i) . "\t"; } while ($row = mysql_fetch_row($result)) { // Begin new line $line = ''; foreach ($row as $value) { if (!isset($value) || $value == '') { $value = "\t"; } else { $value = str_replace('"', '""', $value); $value = '"' . $value . '"' . "\t"; } $line .= $value; } // End line $data .= trim($line) . "\n"; $data = str_replace("\r", "", $data); }
mysql_fetch_row を使用することで、各要素が列を表す配列を取得します。価値。これにより、Excel ファイルに行ごとに値を追加できるようになり、各行に独自の値のセットが含まれるようになります。
変更したスクリプトで、必要に応じてファイル ヘッダーを調整し、ファイル名をエクスポートすることを忘れないでください。
以上がPHP を使用して MySQL データを Excel にエクスポートするときにセルの集約を防ぐ方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。