勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

PHPで改行を含むデータをCSV化する際に表示崩れを防ぐ方法

   2026/08/05  PHP

PHPで改行を含むデータをCSV化した場合、そのCSVファイルをエクセル等で開くと改行がそのまま反映されており、表示が崩れた。以下方法で解決した。

 

解決方法

そのデータをダブルクオーテーションで挟むことで解決。

$data = '
    改行
    改行
    改行
';
$csv = '';
$csv .= '"' . $data . '"';

尚、CSV化に関しては以下過去記事の方法を用いた。

PHPでCSVファイル出力用の関数

 - PHP

  関連記事

PHPからCSVファイルを出力する際にメモリを節約する方法
PHPからCSVファイルを出力する際にメモリを節約する方法

MySQLよりデータを大量に取り出してCSVファイル化し、ダウンロードさせるとい ...

LeagueCSVで「The header record must be empty~~」エラーが発生する原因と対応方法
LeagueCSVで「The header record must be empty~~」エラーが発生する原因と対応方法

以前にメモしたPHPのLeagueCSV(thephpleague / csv) ...

tableタグ内のデータをCSV形式でダウンロードできる「jQuery-csvExport」ライブラリの使用方法
tableタグ内のデータをCSV形式でダウンロードできる「jQuery-csvExport」ライブラリの使用方法

HTMLのtableタグ内のデータをCSV形式でエクスポートさせたいケースがあっ ...

JavaScriptでtableタグをエクセルファイル(xlsx)としてダウンロードさせる方法
JavaScriptでtableタグをエクセルファイル(xlsx)としてダウンロードさせる方法

table内のデータを何らかのファイルでダウンロードさせたい。通常PHPでCSV ...

MySQLでCSVから列を指定してインポート
MySQLでCSVから列を指定してインポート

MySQLでCSVからデータをインポートしたかった。またエクセル風にいうA列はi ...