2011-09-16 7 views
1

これが可能かどうかわかりませんが、MVC3プロジェクトのMSオフィスにプログラムリファレンスを追加したいと思います。C#MVC3プロジェクトのMicrosoft Office DLLへの参照を追加することはできますか?

具体的には、組み込みのOfficeオブジェクトを使用してプログラムで編集を作成し、動的に生成されたオフィス文書を送信できるようにしたいと考えています。サードパーティのFOSS APIを使用するのと比べて、私はVBAの多くを知っているので、オブジェクトの直接MSバージョンを使用することを好むでしょうし、MS-Office「guts」で直接作業することは、私のためにもっと簡単に。

Officeが正常にインストールされていると仮定すると、C#MVC内から直接Officeアプリケーションを参照してスクリプトを作成できるはずですか?

は、私はおそらく3つの事

  • 私はregsvr32 <pathname>/<officeDLLname>.dll
  • 私はへの参照を追加して行く方法を登録する必要がありますC#
  • DLLの名前のusing Microsoft.Office;ディレクティブを探しています把握します私のMVC3プロジェクトはVisual Studioで

私が紛失しているものが他にない限り、そこから私は新しいExcelオブジェクトを作成することができますWebサーバーにビルドさせます。あなたが/編集するドキュメントを追加するために、ASPNET /ネットワークアイデンティティユーザa権限を与える必要があります

Excel objXL = new Microsoft.Office.Excel(); 
objXL.<do stuff>; 
objXL.Save(<bla bla bla>); 
' profit! 

おかげ

+0

dllへの参照も追加する必要があります。また、オフィスコンポーネントを実際にオフィスプログラムを実行して機能させるため、オフィスにもオフィスにOfficeをインストールする必要があります。 –

+2

いいえ、しないでください - オフィスオブジェクトは[非対話的な使用のために構築されていません](http://support.microsoft.com/kb/257757)。その代わりに、例えば多くのライブラリが利用可能です。 [C#からExcelファイルを作成する](http://support.microsoft.com/kb/257757) – Rup

+0

http://support.microsoft.com/kb/257757記事の後半にある@Rupに感謝します。サーバー側の自動化の代替手段を探しています –

答えて

0

。それ以外は、どうして?

+0

「Microsoftは現在推奨していない、サポートしていないため、無人で非対話型のクライアントアプリケーションまたはコンポーネント(ASP、ASP.NET、DCOM、 Officeがこの環境で実行されると、不安定な動作やデッドロックが発生する可能性があるためです。 [KB257757](http://support.microsoft.com/kb/257757) – Rup

+0

私は離れてこの滞在に2番目のRup! –

+0

サーバー側のランオフィスは良い考えではありません。私はASPOSE.Wordsを使って単語とPDFの生成を処理しています。クライアントはとても満足しています。 – GRGodoi

関連する問題