• 締切済み

C#でExcelを操作する方法

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

noname#258812
noname#258812

みんなの回答

  • 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

  • .NETの標準ライブラリでExcelファイルの操作はできるか?

    C#やVB.NETでExcelファイルを操作したいのですが、OfficeのインストールされていないWindows Server(要するに.Netだけ)でExcelを操作することはできるのでしょうか? 捜査内容は特定のセルに文字列を書き込むといった単純なものです。 操作できるのであれば書き方(ソースコード)を教えてください。

  • サーバでExcelのComを操作する場合サーバにOfficeは必要?

    今度ASP.NETでOfficeのComを操作してExcelファイルを作成するプログラムを作成するのですが、サーバ側にExcelをインストールする必要はありますか?

  • JP1からExcelを実行するとエラーになる

    今回、サーバ等のバージョンアップをしたところ、JP1からExcelを起動するexe(delphi)を実行するとファイルオープン時にエラーとなり、Excelファイルが起動できなくなってしまいました。 対象のExcelファイルはマクロを含んでいますが、マクロなしのファイルで試しても同じエラーでした。 また、起動するExcelファイルをxlsx形式にして試しても同じエラーでした。 なお、exeを直接実行した場合は、Excelが正常に起動されます。 いろいろ調べたつもりですが、原因の解決に至らないため、質問させていただきます。 エラー内容:  EOleExceptionがモジュール ~.exe の 0006787A で発生しました。  ファイル '~.xls' にアクセスできません。  次のいずれかの理由が考えられます。  ?ファイル名またはパスが存在しません。  ?ファイルが他のプログラムによって使用されています。 現在の環境は以下の通りです。 ・サーバA:JP1あり (WindowsServer2012) ・サーバB:exe、Excelファイルあり (WindowsServer2012) ・JP1のバージョン:10 ・サーバBのExcelのバージョン:Excel2007 ・Excelファイル:xls形式(Excel2000で作成) 【参考】いままで動作していた環境は以下の通りです。 ・サーバA:JP1あり (WindowsServer2003) ・サーバB:exe、Excelファイルあり (WindowsServer2003) ・JP1のバージョン:7i ・サーバBのExcelのバージョン:Excel2000 ・Excelファイル:xls形式(Excel2000で作成) 以上、宜しくお願い致します。

  • VBで、エクセルファイルを操作

     VBでデータを使いエクセルのファイルを操作したいんですが、ファイルの場所を変えるとエラーが出てしまいます。 HTMLみたいに階層型(?)みたいに実行EXEがあるディレクトリ内のエクセルのファイルを操作させるような方法を教えてください。 (エクセルからも操作できるようにしたい)

  • Excel 操作したいbookをActiveにする

    こんにちは。 Excel 2007を使用しています。 今、作業手順がマクロで書いてあるファイルをmacro.xlsm 操作したいファイルをobject.xlsxとします。(名前は適宜変わります) また、両方のファイルをExcelで開いておきます。 マクロを実行させたいのですがmacro.xlsmをActiveにしないと マクロが実行できませんし、macro.xlsm自身を操作対象として 作業が始まってしまいます。 一番望ましいのはmacro.xlsmをActiveにしてマクロ開始キー (Ctrl+Shift+M) または「ボタン」などで対象となるファイルを選択して 操作を実行させたいのです。 なお条件としてExcelには上記の2つのファイルしか開いていません。 方法をご存じの方お教えください。

  • Excelの操作の履歴を残す方法

    お世話になります。 Excelを含む、Office系のソフトで、『元に戻す』などで行うことが できる操作の履歴の一覧を残し、後で確認することはできますで しょうか。 Office系ソフトのテストの採点をしなければならないのですが、 ただ最終結果が同じになればよいわけではなく、どのように結果まで 作成していったかの過程を確認しなければならないのです。 同一Excelファイルの中に、履歴の一覧を残すような方法でも 構わないのですが、何か方法がありましたら、 よろしくお願いいたします。

  • エクセルの動きがとても遅くなり最終的に操作が不可能になります。

    1000枚ほどの、レーベルの印刷を、Wordの差し込み印刷でしようと思い、差し込み印刷用のファイルをExcelでコピー、ペーストで作成していったところ、300ほど、コピペをしたところで、動きがだんだん遅くなり、なにか操作をしようとすると、カーソルが、待機の状態(というなのでしょうか?Windows7で、青い丸がくるくるまわっている状態です。)となり、カーソルが戻ったと思うと、すぐにまた、待機状態になり、その繰り返しになってしまいます。レーベルの差込印刷用のファイルだけ、そのようになり、このファイルを閉じると、他のファイルは普通に動きます。 問題のあるファイルを破棄し、新規で、同じようにコピペをはじめてみましたが、同じことが起こります。これを解決するにはどうしたらよいのでしょうか。 OSはWindows 7, Office 2003です。よろしくお願いいたします。

  • Excel データ操作

    Excel データ操作 ExcelでA列とB列というデータがあります。 B列の特定のセルに黄色く印をつけます。次に黄色く印をつけたデータを左隣のA列のセルに移すこととしたい。どのような操作すればできますか。 (私としては、まず移動したいものを決めて確認しておいて移しを一度に実行したいのです。)

  • [C#]実行中プロセスのパスを調べる方法について

    いつもお世話になっております。 現在実行中のプロセスの中から、特定のアプリのexeファイルのpathを表示させる方法が分からず苦戦しております。 言語はC#になります。 以下のコードでテキストボックスに、C#でコンパイルしたプログラムのpathは分かったのですが、私が表示させたいのは、コンパイルしたプログラムのpathではなく、現在実行中のプロセスの中のあるアプリのexeファイルのpathになります。 string appPath= System.Windows.Forms.Application.ExecutablePath; textBox1.Text = appPath; 良いお知恵がございましたらお力添えいただきたく、宜しくお願いいたします。

  • エクセルのマクロの修正方法

    エクセルで簡単なマクロを作って使用しています。 例えば罫線を引いたり、特定の行列を削除するなど本当に簡単なものです。 ところが、ある時期から全てのマクロ(20個くらい)を実行させると必ず、ある特定のファイルが開いてしまうのです。 おそらくなにか間違った操作したためだとおもうのですが、どこで修正すればよいのでしょうか? マクロ編集画面の「VBAProject」というところですか? (あまり詳しくないのでかんたんにお願いします) ウインドウズXPでエクセル2000です。

専門家に質問してみよう