- 締切済み
ASPからEXCELファイルの設定を変更する方法を 教えて下さい。
ASPファイルで表示したデータをEXCELファイルに はきだす、プログラムを作成しました。 はきだす、文字列が長いと、セル内に「####」と いう文字が表示されます。 この現象を回避する ために、EXCELファイルを作成し、データをはきだ す時に、セルのプロパティ(幅)を設定したいです。 このような事は、可能なのでしょうか?また、可能ならば 方法をご教授願います。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- mann555
- ベストアンサー率46% (29/62)
例えば、先に書いたSampleがExcel.aspだったとして ダウンロード用のページに 下記のようにリンクタグを入れれば ダウンロード出来ます。 <A HREF="Excel.asp">Down load file</A>
- mann555
- ベストアンサー率46% (29/62)
補足されているソースからみるとCSV形式ですね。 CSV形式だと無理です。 Excel97sr1以降であればHtml形式でも読み込めますので Tableとしてはき出すという手もあります。 Nowrapを付ければセル幅があうかと。 style sheetも使えますのでセル毎に色の設定も出来ます。 以下Sampleです ------------------------------------------------ strSendText = "<html xmlns:x=""urn:schemas-microsoft-com:office:excel"">" strSendText = strSendText & "<head>" strSendText = strSendText & "<!--[if gte mso 9]><xml><x:ExcelWorkbook>" strSendText = strSendText & "<x:ExcelWorksheets>" strSendText = strSendText & " <x:ExcelWorksheet>" strSendText = strSendText & " <x:Name>Sheet Name</x:Name>" strSendText = strSendText & " <x:WorksheetOptions>" '<x:DoNotDisplayGridlines/> strSendText = strSendText & " <x:Selected/>" strSendText = strSendText & " <x:FrozenNoSplit/>" strSendText = strSendText & " <x:SplitHorizontal>1</x:SplitHorizontal>" strSendText = strSendText & " <x:TopRowBottomPane>1</x:TopRowBottomPane>" strSendText = strSendText & " </x:WorksheetOptions>" strSendText = strSendText & " </x:ExcelWorksheet>" strSendText = strSendText & "</x:ExcelWorksheets></x:ExcelWorkbook>" strSendText = strSendText & "</xml><![endif]--></head>" strSendText = strSendText & "<META http-equiv=""Content-type"" content=""text/html; charset=SHIFT_JIS"">" strSendText = strSendText & "<body>" With Response .ContentType = "text/plain" .AddHeader "Content-Disposition", "attachment;filename=test.xls" .Write strSendText .Write "<TABLE>" .Write "<THEAD><TR><TD>No.</TD><TD>起票日</TD><TD>名前</TD></TR></THEAD>" .Write "</TABLE>" .Write "</body></html>" .End end With ------------------------------------------------
- hequil
- ベストアンサー率65% (242/372)
CreateObjcet("Excel.Application") 経由で xlsファイルを作成しているならVBAと同じく .ColumnWidth = 幅 .EntireColumn.AutoFit あたりで設定可能です。
補足
ご回答ありがとうございます。 以下のステート メントで行っております。 この場合どの様にしたら良いのでしょうか? Response.ContentType="application/vnd.ms-excel" Response.AddHeader "Content-Disposition" , " attachment; filename= test.xls" Response.Write "No." & vbtab Response.Write "起票日" & vbtab Response.Write "名前" & vbNewLine
補足
みなさま、色々なご回答ありがとうございます。 私も、テーブルを作り「htmlファイル」をエクセル開く 方法が現実的な解決策だと思います。 だが、クライアントPCにそのファイルをダウンロード させたいのです。色々調べたのですが、htmlファイルを ダウンロードする方法を発見できません。 ASPを使って います。 htmlファイルをダウンロードする方法を教えて下さい。 おねがいします。