@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ASPでWebフォーム上にあるデータをExcelに出力する方法

1
投稿者投稿内容
コウジ
会議室デビュー日: 2003/09/11
投稿数: 2
投稿日時: 2003-09-11 17:28
以前、ASP.NETでWebフォーム上にあるデータをExcelに出力する方法のスレッドを拝見したのですが、これに関連して教えていただきたいことがあります。
ブラウザ上に表示したデータ(テーブルのデータ)で改行付きのデータがあるのですが、EXCELに出力すると改行が取れてしまいます。これを解消する方法をご教示お願いします。
Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2003-09-12 09:50
多分、改行コードを意識されていないのでは?
・セルの場合:BRタグ等
・テキストエリアの場合:CR+LF
のようになっている文字列を、EXCELのセルに表示させる場合、
EXCELのセル内の改行はLFなので変換が必要かと。
コウジ
会議室デビュー日: 2003/09/11
投稿数: 2
投稿日時: 2003-09-16 14:41
ご教示ありがとうございます。
改行コードを意識していませんでしたので下記コードで意識させてみましたが改行がついていない状態で出力され、上手くいきませんでした。どうしてかわからない状況です。
<ソース>
'--- EXCEL形式の指定
response.ContentType = "application/vnd.ms-excel"
   ・
   ・  ※DBよりデータ取得処理
   ・
'--- 改行コード変換
W_NAIYO = RS("内容")
NAIYO = Replace(W_NAIYO, vbCrLf, vbLf)

'--- データの出力
<HTML>
<HEAD>
<meta http-equiv='content-type' content='text/html; charset=shift_jis'>
<TITLE>IVENT LIST</TITLE>
<STYLE TYPE="text/css">
</STYLE>
</HEAD>
<BODY>
<TABLE>
<TR>
<TD WIDTH="400" ALIGN="left"><%=NAIYO%></TD>
</TR>
</TABLE>
</BODY>

ただ、変換部分を下記内容にした場合は上手く改行されて出力されました。

NAIYO = Replace(W_NAIYO, vbCrLf, "<br>")

但し、EXCEL上で改行される毎にセルが分かれてしまい困っています。できれば同一セル内で改行を行いたいのですが。。。またなぜ、「vbLf」ではなく「<br>タグ」で改行を認識したのかが理解できないのですが、そのあたりもわかる方おられましたらご教示お願いします。
カシミア
会議室デビュー日: 2003/11/13
投稿数: 1
投稿日時: 2003-11-13 18:29
相乗り質問して恐縮ですが、

>>response.ContentType = "application/vnd.ms-excel"

でExcelダウンロードしたものは、やたらサイズが大きいファイルになってしまうのですが(10倍くらい)、どうすれば通常の大きさになるのでしょうか?
例えばダウンロードしたものが10MB位とすると、これを別ファイルでExcelに再度保存したものは1MB程度なのです。どうしてこんな巨大になってしまうのでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-13 23:22
引用:

コウジさんの書き込み (2003-09-16 14:41) より:


??Web上のデータをExcelへ、ですか?それとも、Excel上のデータをWebへ、ですか?このコードだと、後者のようですが、スレッドルートの内容は前者のようですが?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-14 11:57
引用:

カシミアさんの書き込み (2003-11-13 18:29) より:

でExcelダウンロードしたものは、やたらサイズが大きいファイルになってしまうのですが(10倍くらい)、どうすれば通常の大きさになるのでしょうか?



http://homepage3.nifty.com/dotnetfan/web/web12.html
ここに書いてあることかな?
1

スキルアップ/キャリアアップ(JOB@IT)