勉強したことのメモ

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) ...

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

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

WordPressでカスタムフィールドとCSVファイル投稿する方法
WordPressでカスタムフィールドとCSVファイル投稿する方法

WordPressでカスタムフィールド設定している環境に、CSVファイルアップロ ...

CSVファイルをローカルで開くと「SYLKファイルが云々」のアラートが出る場合の対応方法
CSVファイルをローカルで開くと「SYLKファイルが云々」のアラートが出る場合の対応方法

データベースのログを整形してCSVファイルを生成し、ダウンロード及びエクセルで開 ...