PHPでCSVを出力するときのハマりどころやサンプルなど

php

概要

PHPでCSVを出力しました。ハマりどころやサンプルなどを書いてみます

ちょっとハマったとこ

1行目が改行される

なんだかわからないけど、最初の1行目が改行されていました。
[ob_clean();](https://www.php.net/manual/ja/function.ob-clean.php) を最初に入れてあげることで解決しました。

IDなどの先頭の0が消える

エクセルで見たときに頭に0が入っているデータの0が消えていました。
=”000001″ みたいな感じで囲んで式にしてあげるといいです。

エクセルで開いたときに文字化けする

SJISじゃないと文字化けするようなので、変換しましょう。

サンプル

解説

くだもの一覧という一覧をテキトーに作ってみました。
出力ボタンをおしたらhidden値のmodeが飛んで、CSV出力されます。
header で出力形式をapplication/octet-streamにしてダウンロードしてくるように設定しています。
それぞれのデータを加工・文字コード変換して、あとはechoで出力してあげるという形にしています。

デモページはこちらです。

コメント

タイトルとURLをコピーしました