WebでExcelを生成し、ダウンロードする方法

このQ&Aのポイント
  • VWD ASP.NET(VB)を使用して、Webサーバー側に雛形Excelを配置し、ユーザーの指定によりDB情報をExcelに付加してダウンロードする方法を探しています。
  • 他の方が同じ考え方でExcelを生成してダウンロードする方法を紹介しているサイトがありましたが、私はVBしかわかりません。
  • 複数のユーザーが同時に利用することを考慮して、安全性やプログラムの内容について不安があります。VBのソースコードを教えていただけると助かります。
回答を見る
  • ベストアンサー

WebにてExcelを生成してダウンロード

VWD ASP.NET(VB) Excel2003 Webサーバー側に雛形Excelを配置し、ユーザーの指定により DB情報をExcelに付加してダウンロードする方法を探しています。 以下のサイトに同じ発想の方がいましたが私はVBしかわかりません。 ユーザの利用は複数が同時に使用することも想定に考えると 以下のプログラムは安全なのかわかりません。 また、リンクが切れていて内容も理解できません。 何方かVBソースコードにて教えてください。 よろしくお願いいたします。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21390&forum=7

質問者が選んだベストアンサー

  • ベストアンサー
noname#259269
noname#259269
回答No.2

No.1氏の回答では、雛形Excelは考慮できていません。 それよりも、そもそもサーバサイドで Excel を操作する事は推奨されていないので、方式を改めることを検討するのが無難です。詳細は下記(技術的にだけでなくライセンス的にも)。 http://support.microsoft.com/kb/257757/ja やるなら OLEDB プロバイダで Excel をデータベースと見立てて更新することです。 http://www.cocoaliz.com/asp.net/index/41/ 複数利用については、雛形ファイルをコピーする際にファイル名にセッションIDなどを付与してユニークなワークファイルを作って操作する必要があるでしょう。

ark2004
質問者

補足

早速、ご丁寧にありがとうございます。 ご相談ですが、以下のようなASP.Net(VB)でシステム構築 現在の申し込み書類(Excel)をWeb+DB対応。 ・申し込み書をDBと連動してWebで自動作成し  印刷プレビュー(Web印刷のようにヘッダーフッターのない形式)  させたかったです。PDF自動生成でもよいのですが雛形を作成  するのが大変でして、Excelを利用してできないものか。 現在使用している雛形Excelには承認印枠など多くの罫線枠があり ASP.Netで作成するのには大変な作業で完成に至っていません。 何かよい方法はないでしょうか? よろしくお願い致します。

その他の回答 (2)

noname#259269
noname#259269
回答No.3

No.2 です。こういうとき普通は 3rd Party 製品を利用します。 有名なのは Excel Creator です。 http://www.adv.co.jp/product/product_excelcreator2012.htm Excel 雛形を元にファイル作成できます。

ark2004
質問者

お礼

お礼をするのが大変遅くなりまして申し訳ありません。 製品を利用するのは予算がないので断念です。 先に回答いただいた内容で、あと少しのところまで辿り着きました。 >複数利用については、雛形ファイルをコピーする際にファイル名にセッションIDな>どを付与してユニークなワークファイルを作って操作する必要があるでしょう。 しかし、Excelのセル単位の更新ができないので 別でもう一度質問をさせていただきます。 ありがとうございました。

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.1

簡単ですよ。 エクセルはHTMLパーサを持っているので、 HTMLのテーブル形式で表を作成してレスポンスに書き出せばOKですよ。 残念ながらASP.NETは知らないので、昔のレガシーASPのソースを! Response.ContentType = "application/vnd.ms-excel" Response.AddHeader "Content-Disposition","Content-Disposition: inline; filename=SAMPLE.xls" Response.Write("<html xmlns:x='urn:schemas-microsoft-com:office:excel'> ") Response.Write("<html>") Response.Write("<body>") Response.Write("<table border='1' cellspacing='1' cellpadding='2'>") Response.Write("<tr bgcolor='#0066FF'>") Response.Write("<td align='center' nowrap><font color='#FFFFFF'>SEQ</font></td>") Response.Write("<td align='center' nowrap><font color='#FFFFFF'>ITEM</font></td>") Response.Write("</tr>") linecount = 0 Do While Not RS_TABLE.EOF '// RS_TABLEは事前にOPEN linecount = linecount + 1 Response.Write("<tr bgcolor='#FFFFFF'>") Response.Write("<td align='center' nowrap rowspan >" & linecount & "</td>") Response.Write("<td align='center' nowrap rowspan x:str>" & RS_TABLE("ItemCd") & "</td>") Response.Write("</tr>") RS_TABLE.MoveNext Loop Response.Write("</body>") Response.Write("</table>") Response.Write("</html>")

ark2004
質問者

補足

早速、ありがとうございます。 私には少し難しいので教えてください。 雛形のExcelの読込は何処で行っているのでしょうか? 雛形Excelの保存先を記述するばしょがわかりません。 申し訳ありませんがよろしくお願い致します。

関連するQ&A

  • ASP.NETのサーバー移行に伴うエラーについて教えて下さい

    こんばんわ。 localの開発環境で作ったASP.NETのアプリケーションを、サーバーに置いて実行するとエラーが出てしまいます。 色々、調べてhttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12465&forum=7&1のサイトと同じ事を行ったのですがエラーは 解消できず困っています。 ご存知の方、ご教示下さいませ。 よろしくお願い致します。

  • サーブレットでスレッドを生成

    チャットのようなプログラムで、 (1)クライアントがアプレットをダウンロード (2)アプレットが下(リンク)のようなプログラムにアクセスする とゆうような場合、スレッドが必要になるだろうとテスト用のプログラムを作ったのですが何か間違いがあれば教えてください。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27474&forum=11&0 ちなみに while(i==0) if(i==1) を取れば動くと確認していますが。

    • ベストアンサー
    • Java
  • jarファイル実行でDB接続するやり方(Eclipseで開発)

    Eclipseを使って、DB接続(DBはMySQL)して情報を表示する アプリケーションを作成しています。 Eclipse上ではうまく動作するんですが、jarファイルを作成して 実行するとDB接続時にエラーが発生します。 ↓ここにも同じような問題で解決策が書かれていたんですが、  具体的な解決法がわかりませんでした。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27342&forum=12 わかる方がいらっしゃいましたら教えてください。 よろしくお願いいたします。

  • 空き番号取得について

    テーブルから空き番号取得するという方法を 探しているのですが http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22751&forum=26&6 にあったように「今入っている数字の次の番号」を 取得する方法はわかりましたが 先頭の判断をSQLで判別するには どのようにしたらいいでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • jsp実行時にダウンロードダイアログが表示される

    こんにちは 昨日に引き続き質問させてください。 以下のコードのJSPを実行すると ファイルのダウンロードダイアログが 表示されてしまいます。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25429&forum=12&8 に似たような質問があったのですが 解決していないようです。 ここにいらっしゃる方ならご存知かと思い質問しました。 ご回答よろしくお願いします。 ===================================================== <%@page contentType="text/html ; charset=Windows-31J"%> <HTML> <HEAD> </HEAD> <BODY> <% String test="test"; %> <%=test%> </BODY> </HTML>

  • Win2003R2+ADでインターネット接続制限

    Windows2003serverR2で、ActiveDirectoryでユーザを管理しております。 ある特定のユーザ、若しくは端末のみインターネットへの接続を とめようとしております。 ルータでやれば出来ると思うのですが、ADで出来ればやりたいと 考えております。 IEを起動しない等ソフトの起動制限ではなく、その他の方法を検討しています。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=13661&forum=6 にWin2000での方法は書かれていたのですが、同じことが2003では出来ないのでしょうか? ここのページでは3段階にしたいと書かれておりますが、 インターネット・メールが止められればよいです。 どなたかご存知の方いらっしゃいましたらご教授願います。

  • MSDEへのアクセス権限について

     はじめまして。  こちら(http://www.atmarkit.co.jp/fdotnet/aspandvs/aspandvs03/aspandvs03_01.html)で、VB.NET並びにASP.NETを勉強しているんですが、いざプログラムを実行してみると、 ------------------------------------------------- System.Data.SqlClient.SqlException: SELECT 権限は、オブジェクト 'music'、データベース 'master'、所有者 'dbo' にありません。 ------------------------------------------------- というエラーが出てしまいました。 このサイトの会議室でこの現象についてのQ&Aがあり (http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=4976&forum=7&3)、さらに質問してみたのですが、回答がないので、OKWebコミュニティに質問させていただきました。  デフォルトユーザであるASPNETと、”sp_grantdbaccessでアクセス権を与える”ことが関係しているとは思うのですが、上記エラーが解消され、Datagridコントロールが正常に使えるように助言いただきたく思います。よろしくお願いします。 -----------------  使用環境は、  Windows XP professional SP2 VB.NET MSDE Ver.8.00.760 SP3 です。

  • ブラウザからダウンロード時の警告を消したい

    環境は以下になります。 ブラウザ:IE6 OS:XP SP3 アドインに参加しているユーザ 「この種類のファイルであれば常に警告する」のチェックは表示されていません。 特定の形式のファイルのみ警告を出さずにすぐ実行したいのですが、うまくいきません。 以下の設定を行いましたが警告が出てしまいます。  フォルダオプション>ファイルの種類>詳細設定 ダウンロード時に開く確認をする レジストリの設定  HKEY_LOCAL_MACHINE¥SOFTWARE¥Classes¥[警告を外すファイル形式のftype]  EditFlags DWord:0x00010000 を追加 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=43338&forum=6 こちらのページに HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046} を設定するとあったのですが、このキーは作成されていました。 何かわかる方がいらっしゃいましたらご教授ください。

  • TOMCAT起動エラー

    エクリプスでTOMCATを起動させると以下のようなエラーがでます Parse Fatal Error at line 1 column 1: Premature end of file. org.xml.sax.SAXParseException: Premature end of file. 調べていたらhttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=14048&forum=12で回答あるじゃんと思ったら、 『servlet.xml』 <?xml version='1.0' encoding='utf-8'?> 『web.xml』 <?xml version="1.0" encoding="ISO-8859-1"?> ・・・どこがいけないのかが分かりません 回答お願いします

  • VB-【デスクトップの表示】イベント取得方法

    下記のとおり同じ内容のものを見つけたのですが、結局どうしたらいいかわからないので 質問です。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30384&forum=7 やりたいことは、 VBにて、WebBrowserコントロールを使用しサイト表示させたものを作り それ(exe)をデスクトップ上に常駐させておく というものを作成目的としています。 要するにWindows7においてのActiveDesktop機能の実現です。 (Combooなどフリーソフトも試してますが、適切なものが見つかってません。) そこで1つ問題があり、 デスクトップにあります「デスクトップの表示」で、全体が最小化されますが 作ったプログラムだけは最小化されず残したままの状態にする方法がわかりません。 プログラムやツール等どの方法でもかまいませんので、ご存じの方が いらっしゃいましたら教えていただければと思っています。 ちなみに「Layout」イベントではイベントが走りません。 よろしくお願いします。

専門家に質問してみよう