• 締切済み

エクセルを使用しての印刷方法についてのご質問

実現したいことは、htmlファイルの実行ボタンをクリックすると、データベースからデータを取得してそのデータをプリント出力したいということにつきます。そのためにMSエクセルを使用してデータを貼り付けプリントすることにしました。またプリント機能には、プレビューの機能も 付加したいということです。 次のような方法を考えています ひとつは、サーブレットで動的に生成したExcelデータを ブラウザ側にダウンロードし、それをブラウザ側で起動したExcelに張り付ける方法 もうひとつは、サーブレット内の処理でエクセルのアプリケーションの起動から、セルへのデータのセット、 印刷処理、エクセルの終了処理に及ぶVBSCRIPTを作成して、それら全VBSCRIPTを文字列としてブラウザ側に返してHTMLファイルの中で、VBSCRIPTを実行させる方法です これら2つの実現方法(コーディングの仕方)がわからなくて困っています。 何か良いサンプルコードや別の方法などございましたら よろしくお願いいたします。 (実現方法はどちらか一方でかまいませんし、別の方法でもかまいません) 現在の進捗状況は、HTMLの実行ボタンをクリック して、サーブレットを起動し、サーブレットの処理で jdbc経由でデータベースにアクセスし、SQLを投げてデータを取得します。 これらの処理以降でエクセルへのデータの貼り付けを行いたいのですが、ここからどのようにコーディングすれば よいのかわかりません。 何卒よろしくお願いいたします。 (データベースからデータを取得するところまではできています) サーブレットの起動方法は、HTMLファイルのソースで <FORM method="post" action="http://localhost/servlet/smpl"> の行を挿入しています。 環境 サーバー  WINDOWS NT SERVER 4.0 + IIS 4.0          + JRun 3.0 クライアント WINDOWS 95/98 +IE4.0~5.0 

  • Java
  • 回答数1
  • ありがとう数5

みんなの回答

  • takebe
  • ベストアンサー率65% (17/26)
回答No.1

印刷ということなので難しいかもしれませんが,サーバ側で生成するファイル形式をCSVにするというのはいかがでしょうか. Content-Disposition: filename=xxx.csv というヘッダを加えれば,とりあえずエクセルは起動するようになります. response.setHeader() などでできるのかな. ただし,CSVなのでフォントの設定などはできませんが... ご参考まで.

mem_masa
質問者

お礼

ご返答ありがとうございます。 印刷時に罫線をきちんとひかないといけないので CSVファイルで扱うのはやめて方がよいのではと思い エクセルへのデータセットを考えています。

関連するQ&A

  • サーバーAからサーバーBへPOSTする方法

    お世話になっております。 WEBアプリケーションを作成しているのですが、 問題が解消されずに困っております。 どなたかわかる方、ご教授いただけないでしょうか。 【質問】 サーバーAからサーバーBへデータをPOSTする方法を教えてください。 【詳細】 現在サーバーAのサーブレットより、サーバーBのサーブレットへデータをPOSTで渡そうとしています。 そして、サーバーBのサーブレットが持つdoPostメソッドにて、渡したデータ処理を実施したいです。 forwardとsendRedirectを考えたのですが、 forwardだと他サーバーへデータを渡すことができないようです。 また、sendRedirectだとdoGetメソッドが実行されるため、おそらくGetが行われていると考えられます。 現在、Javaだけでコーディングを実施しているため、Javaでの実現方法を教えていただけると非常に助かります。 大変困っておりますので、わかる方はぜひご教授ください。

    • ベストアンサー
    • Java
  • 先にダウンロードダイアログを表示させる方法

    お世話になります。 ブラウザから「データ取得」なんてボタンを押すと、データベースからデータを取得して、結果をcsvとして出力するプログラムを考えています。 ただ、データがかなり大きいため、データを取得してくる間の待ち時間が結構あります。この間にブラウザを操作されたりするのも問題なので、ブラウザ側からはすぐに「ダウンロードダイアログ」が出せないでしょうか? あわよくば、ダウンロードしてる、みたいなフリの最中に計算処理とかできるかな?なんて考えたのですが… header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=$file.csv"); ~データ取得処理~ print $受け取ったデータ; こんなのでどうかなと思いましたが、ダメでした。何か良い方法ありませんでしょうか。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 動的に生成したHTMLを、画面には表示しないですぐ印刷したい

    ブラウザの画面がフレームで上下に二分割されています。 上のフレーム内に【印刷】というボタンがあり、それを押すと下のフレームの内容に関連のあるデータをデータベースから動的に取得してHTMLファイルを生成して適切なレイアウトに整形した後に、直ちにその内容を印刷(プリンタにデータを送信)する、などという事は可能でしょうか。 出来れば、その生成されたHTMLファイルは一切見えない状態で、あくまでプリンタへのみのデータ出力としたいのですが・・。 なんかイレギュラーな仕様ですが、仕事でやらねばならず、悩んでます。 可能ならばどういったコードを書けば良いかご教授下さい。ちなみに使用言語はVBScriptです。

  • AccessからExcelファイルのデータ取得

    Access2000かExcelファイルのデータを取得したいのですが、 Excelファイルを一度 CSVファイルに変換し、その後Accessのテーブルへデータ取り込み といった手順をとりたいのです。 この方法って、どうコーディングすればいいのですか? (Accessのインポート処理は使用しない方法です)

  • 文字コードを変換してHTMLのコメントに

    PHPを始めたばかりで質問の内容がお粗末ですみません。 どなたか、ご教授をお願いします。 データベースから抽出したデータをHTML上にコメントとして書き出したいと思ってます。 データベースから「あいうえお」という情報を変数を抽出して、Printするとブラウザ上では「あいうえお」と正しく表示されますが、HTMLのソース上では「あいうえお」となっています。 その情報をブラウザの「ソースコードを見る」で表示されるHTML上で「あいうえお」と表示させる方法はありませんでしょうか? どうぞ、よろしくお願いします。

    • ベストアンサー
    • PHP
  • 別マシンにあるMDB参照について

    いつもお世話になっております。 SqlServerのDTS内にVBScriptにてコーディングをおこなっております。 そのVBScriptには、別マシンにあるMDBを参照し処理を行うようなっているのですが、パッケージの実行にて起動を行うと処理が動くのですがSqlServerエージェントのジョブとして登録して実行しようとするとエラーとなってしまいます。 OSはWindows2003 SqlServerは2000となっております。 何方かご存知でしたらお教え願います。 宜しくお願い致します。

  • CreateObject("Excel.Application")でVBScript実行時エラー

    ActiveServerPage(サーバーサイド)でExcelを起動させ データベース(SQLServer)より取得したデータをExcelに貼付け 保存させたいのですが。 2台のPCでは正常に動作するものの、もう1台のPCで実行すると 以下エラーが発生します。 ---------------------------------------------- Microsoft VBScript 実行時エラー エラー'800a01ad' ActiveXコンポーネントはオブジェクトを作成できません。 :'Excel.Application' /××/××/××.asp 行705 ---------------------------------------------- ↓705行目 <% .. set ○○ = CreateObject("Excel.Application") .. %> Microsoftサポート技術情報の [IIS]ASPがVBScript実行時エラー"800a01ad"を返す http://support.microsoft.com/default.aspx?scid=kb;ja;JP194801 レジストリを確認しましたが、3台とも同じ設定でした。 またExcelファイルのアクセス権をEveryOneフルコントロールに設定し 実行してみましたが状況が変わらず・・・。 クライアントサイドのVBScriptでExcelを起動させて 見た所、問題なく起動終了しました。 IISの問題なのでしょうか? ちなみに環境はWinNT4.0、IIS4.0(SP6)、Excel2000(SR-1)です。 同様のケースで過去に解決された方、または良い案がある方。ご教授下さい。

  • perlからphpを実行して結果を得る方法

    perlのプログラムから同一サーバー内のphpを実行してその結果を取得したいのですが、うまくいきません。 print.phpというファイルの中身が <? echo "<div>1234567890</div>"; ?> だとして、これをブラウザで見た場合のソースは <div>1234567890</div> となるわけで、この1234567890をperlのプログラム内で表示するために main.cgiというプログラム内で $data = '/***/www/print.php'; open(FH,$data); @list = <FH>; foreach $data_line ( @list ) { if ($data_line =~/<div>/ ){ $data_line =~ s/<div>//i; $data_line =~ s/<\/div>//i; print = $data_line; } } close(FH); のような処理をすると echo "1234567890"; という実行前のphpの中身が表示されてしまいます。 表示したい結果はこの場合ブラウザでphpを実行した時のソースからdivタグをperl側で抜き取った 1234567890 なのですが、同じ事をperlの書き換えで実現する上手い方法があればご教授いただけますと助かります。

    • ベストアンサー
    • CGI
  • ASPからExcelのデータを読む方法

    ASPページからサーバーにあるExcelの中のデータを読む方法はありますか? AccessなどのデータベースはADOで読み込めば良いと思うのですが Excelも同じように出来るのでしょうか? 環境はIIS4.0でOfficeは97、ブラウザはIE5.0を使っています。

  • htaからExcelファイルを作成する方法

    htaからVBScriptを使用して、Excelファイルを作成したいのですが、 Set xls = CreateObject("Excel.Sheet") を実行するとエラーが出てしまいます。 htaからVBScriptを使用して、 Excelファイルを作成する方法はないのでしょうか?

専門家に質問してみよう