- - PR -
ASPでのExcel出力&ダウンロード
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-10-20 11:02
はじめまして!
今度、社内のASP(.NETでない)で作成されたシステムの機能追加をすることになりました。 要件は、表示された検索結果をExcelファイルにダウンロードすることです。 いろいろ調べて、とりあえず作成できたのですが、問題が1件発生しています。 データ(備考)の中には、改行で整形しているものがあり、以下のソースだと、 改行が空白に変わってしまい、折角の整形したものが見づらくなってしまいました。注1) <% RESPONSE.BUFFER=TRUE RESPONSE.ContentType = "application/vnd.ms-excel" RESPONSE.Charset = "shift_jis" RESPONSE.AddHeader "Content-Disposition","attachment; filename=EXCEL1.xls" : Rs.Open "SELECT ......", Conn, adOpenStatic, adLockReadOnly RCnt = Rs.RecordCount FCnt = Rs.Fields.Count RESPONSE.WRITE "<table border=1 cellpadding=0 cellspacing=1 width=669 bgcolor=#cce6f8>" '--->列名設定 RESPONSE.WRITE "<TR>" FOR L = 0 TO FCnt-1 RESPONSE.WRITE "<TD bgcolor=#666699 align=center><font color=white size=2>" RESPONSE.WRITE "<b>" & RS.Fields(L).NAME & "<b></font>" RESPONSE.WRITE "</TD>" NEXT RESPONSE.WRITE "</TR>" '--->データ設定 for L = 1 TO RCnt RESPONSE.WRITE "<TR>" for I = 0 TO FCnt-1 RESPONSE.WRITE "<TD valign=top>" ' 注1) RESPONSE.WRITE RS(I).VALUE │REC = RS(I).VALUE 注2)│if REC <> "" then │ RESPONSE.WRITE REPLACE(REC, vbCrLf, "<BR>") │else │ RESPONSE.WRITE " " │end if RESPONSE.WRITE "</TD>" next RS.MOVENEXT RESPONSE.WRITE "</TR>" next RESPONSE.WRITE "</TABLE>" RESPONSE.FLUSH RESPONSE.END RS.CLOSE Conn.CLOSE %> そこで、注2)にように、改行を変換したのですが、今度は改行毎に行数が増えてしまいました。 通常のExcelみたいに、1つのセルの中で改行したいのですが..... なお、WWWサーバにはOfficeが入っていないため、CreateObjectでサーバ側にExcelを作成/処理することが できません。(この方法は、良くないと聞いていますので.....) 対処方法や、別の方法での解決案をご存知であれば、教えて頂けないでしょうか? よろしくお願い致します。 |
|
投稿日時: 2006-10-20 11:13
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=26391&forum=7
|
|
投稿日時: 2006-10-20 13:25
todo殿
早速の返答ありがとうございました。 検索の方法が悪かったのですね! 回答のあったurlの「http://www.ken3/asp/asp079.html」を参考にし、 RESPONSE.WRITE REPLACE(REC, vbCrLf, "<BR>") ↓ RESPONSE.WRITE REPLACE(REC, vbCrLf, "<BR style='mso-data-placement:same-cell'>") に変更すると、解消できました。 ちょっと「mso」について学習したいと思います。 どうもありがとうございました。<(_ _)> |
1