• 締切済み

C#でExcelを操作する方法

ExcelViewerのみがインストールされているサーバー(WindowsServer2008)で 言語C#でWeb画面からボタンが押されたタイミングで 特定のパスのExcelファイルを印刷することは可能でしょうか。 印刷以外のExcelファイルの操作は一切しません。 ただ、officeがインストールされていないサーバー上で実行したいです。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

特定のサーバだけでしか印刷できないという 条件のようです。二つのポイントがあります。 (1)リモートプロシージャコール  Excelを解釈できるサーバでしか印刷できない  ので、ここで印刷プログラムが待機する。  Webサーバはこのプロシージャを起動して  印刷を行う。 (2)排他制御  複数のクライアントが同時に印刷を行おうと  した場合、どう扱うべきか?  更新可能で開くと、2番目以降にExcelを開く  スレッドはWaitになってしまう。 上記は全体に関わる取り決めが必要で、単に 何かのツールを使うとかの話ではありません。 リモートプロシージャコールはシステム(サーバ)の 構成の管理者と協議して、何処にどういうサービスを 立ち上げるか決めてください。その上で、新しく このサービスプログラムを開発します。 排他制御は常に読み取り専用で開くなら良いの ですが、クライアントの要求別に云々、となると 何か方法を考える必要があります。 他にも幾つか手は考え付くのですが、運用環境の 制約を受けるので、事情が分からないと、何とも 申し上げようがありません。

noname#258812
質問者

お礼

ありがとうございました。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

Webアプリケーションでしょ? 「印刷する」って、何処にですか? 誰もいないサーバールームにですか? 「Excelファイルをダウンロードする」 とかの方が現実的ではないですか?

noname#258812
質問者

補足

サーバーに入っているプリンタドライバで特定のプリンタに印刷します。Web画面と印刷物を管理する部門が別なので、特定の部屋にあるプリンタに出力する要件があります。 またクライアントマシンは何100台もあるので、サーバー1台にエクセルビューワをインストールし、エクセルフォーマットで整えられた紙ベースの出力が必要です。 Excelは電子ファイルで取り扱うことはありません。 説明が悪くて申し訳ありません。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう