- ベストアンサー
aspで作成するcsvファイルで、excelのセル内で、改行をさせるには
以下、ご回答をお願いします。 aspで、データーベースの内容を、htmlのtableに書き出しております。 これをexcelに落とし込みたいのですが、html上で<br>として改行している所を、エクセルのセル内で実現させるには、改行コードを、どのように記述すればいいのでしょうか。 Response.Write "<TD width=200 NOWRAP><FONT COLOR=" & f_color & ">" & adors.Fields.Item("ofce") & "<br>"
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
# 実験する環境がないですが Excelでデータを作ってみて、HTML形式で保存すると分かるでしょう。 あるいは、Excel XML形式というのもあります。(Excel 2003 以上だっけ?)
その他の回答 (2)
- takkunnet
- ベストアンサー率74% (32/43)
CSV形式のファイル内に改行を入れたいときには、項目を「”(ダブルコーテーション)」でくくる必要があります。 AAA,"BBB[CRLF]CCC",DDD ※[CRLF]とは改行コードのことです。(LFのみでも良いです) このように出力してやれば、B1のセルにBBB[改行]CCCが入ります。
補足
やりかたが良くないのか、 BBB[CRLF]CCCが、そのまま、1セルの中に表示されます。
- todo36
- ベストアンサー率58% (728/1234)
ExcelでCSV形式で保存してみると CSVの改行がCRLFでセル内改行がLF なんだかなぁ LFは Response.BinaryWrite で 10 を送るとか。 > aspで、データーベースの内容を、htmlのtableに書き出しております。 > これをexcelに落とし込みたい htmlのtableを拡張子xlsのファイルに落とすとか。 でも、<br>だとセル内改行にならない。
補足
レス、ありがとうございます。 > htmlのtableを拡張子xlsのファイルに落とすとか。 > でも、<br>だとセル内改行にならない。 そう、これが入っていると2行つかって表示するので、csvファイルを使う必要があるのかと思っています。 csvファイルに文字属性を付けて、エクセルで改行なんて、できないのでしょうか。 Response.Write "<TD width=200 NOWRAP> & adors.Fields.Item("ofce") & "" Response.BinaryWrite 10 Response.Write "<small> & adors.Fields.Item("dsptel") & "<small></TD>" としても駄目でした
お礼
(1)セル内で改行しているデータを含むExcelシートをHTML形式で保存 (2)結果をテキストで参照すると、<br>で改行が入っているので、エクセルに読み込み直すと、セルが分かれるだろうと想定 (3)読み込んだ結果、何と、1セルで表示をしている。 理由を探ると、スタイルの宣言の中に --------------------------------------- br {mso-data-placement:same-cell;} --------------------------------------- と言う宣言が見られます。 試しに、通常のhtml表示のページのスタイル宣言に上記を追加して表示させた結果を、コピーして、エクセルに貼り付けると・・・<br>記述が1セルに収まるようになりました。 CSVファイルでダウンロードをすることが必須ではないので、今回は、これで解決にしようと思います ヒントを頂き、ありがとうございました。