[PHP-users 17839]Re: カンマ入りデータをCSVで出力するには
misawa @ ctie.co.jp
misawa @ ctie.co.jp
2003年 9月 12日 (金) 15:38:58 JST
こんにちは
三沢といいます。
EXCELのCSVファイルを前提として回答してみます。はずしていたらすいません。
結論としては、PHPとはあまり関係の無いことが原因です。
EXCELのデータには、\記号でエスケープするという発想はありません。
カラムにカンマを含むデータを作成する場合は、カラム全体を「"」(ダブルクォーテー
ション)で囲む必要があります。
>$str = "]},<.>?/";
の場合は、
>$currentRow .= str_replace(",","\,",$str);
ではなく
>$currentRow .="\"".$str,"\"";
のようになります(区切りのカンマは別途入れるとして。表記は色々あるとは思いますが)。
改行を含むセルの場合も同様です。
また、「"」自身は、「""」と表現します。
以下のサイトは使用言語がPerlですが、データの取り扱い方としては参考にな
るかと思います。
http://www.din.or.jp/~ohzaki/perl.htm#CSVfromValues
また、逆にEXCEL上でカンマなどの記号を含んだデータを作ってCSV形式で保存
してみると、よりはっきりするかもしれません。
以上、ご参考まで。
---
三沢隆治
PHP-users メーリングリストの案内