トップ回答者
ASP.NETでエクセル参照ができない。

質問
-
以下の事でこまっています。
VWDを使ってASP.NET(VB)で開発を行っています。エクセルを使用するために参照設定よりCOMを選んで、Microsoft Office xx Object Libraryを参照し、エクセル操作のプログラムを作成しました。開発環境では作動確認がとれています。
これをWindows Server2008R2 でIIS7の環境で動かそうとすると内部エラーが発生してしまいます。調べた結果、参照設定でエクセルを参照できていないようでしたので、VWDをサーバにインストールし参照設定を行った所、"Microsofot Office xx.0 Object Librayへの参照を追加できませんでした。タイプライブラリを.NETアセンブリに変換できませんでした。"とのエラーがでます。
そこで色々しらべて、PIAをインストールし、サーバにVSもインストールしてみました。Windows/assemblyにはMicrosoft.Office_Interop.Excelが公開キートークンとともにインストールされているのは確認しました。
VB.NETで参照するとうまく参照されますが、参照される内容がローカルで作成した参照内容と異なります。(VBはassembly/GAC_MSIL/Office/内のDLLを参照、ASP.NETは assembly="Microsoft.Office.Interop.Excel, Version=XX.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"/>を参照)
この様な状況なのですが、どうすればASP.NET(VWD)よりエクセル参照設定が可能になるのでしょうか。わかる方がいらっしゃったら教えて下さい。
- 編集済み 苦悩の日々 2012年9月10日 6:42
回答
すべての返信
-
まず、ASP.NETでサーバーにあるExcelを操作することは推薦もサポートもされていないことをご存じでしょうか?
Office のサーバーサイド オートメーションについて
http://support.microsoft.com/kb/257757/jaよって、このような動作については保障がありませんので、たまたま解決して動いたとしても、他の方法を模索されることをお勧めします。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
-
問題があるのはすでにレスされている通りですが・・・
他にも、Session 0 分離による問題も出るかもしれませんね。直接問題となるようなコードは書いてなくても、何かの拍子にダイアログなどが表示されたるすることもあるかもしれませんし。詳しくは以下のページからダウンロードできるドキュメントを参照ください。
Windows でのサービスとドライバーへの Session 0
http://msdn.microsoft.com/ja-jp/windows/hardware/gg463353