2011-09-16 80 views
1

我不知道這是否可能,但我想在我的MVC3項目中添加一個程序參考MS Office。是否可以在C#MVC3項目中添加對Microsoft Office DLL的引用?

更具體地說,我希望能夠以編程方式創建編輯和發送使用內置的Office對象動態生成的Office文檔。與使用第三方FOSS API相比,我更願意使用對象的直接MS版本,因爲我有很多VBA知道如何,並認爲直接使用MS-Office「膽量」將是一個對我來說更容易。

上任已正確安裝在服務器上的這個直接從內C#MVC正確運行,我應該能夠參考和腳本的Office應用程序?

我想我可能找三樣東西

  • using Microsoft.Office;指令對C#
  • DLL的名字,我必須註冊regsvr32 <pathname>/<officeDLLname>.dll
  • 我去有關將參照方式我的MVC3項目在視覺工作室

除非有什麼我失蹤,我希望從那裏我能夠創建一個新的Excel對象並讓Web服務器構建它。

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

感謝

+0

您需要添加對DLL的引用,以及你還需要安裝在服務器上寫字樓作爲辦公室的COM組件實際運行Office程序到那裏的功能。 –

+2

不,不要這樣做 - 辦公室對象[不是爲非交互式使用而構建的](http://support.microsoft.com/kb/257757)。相反,有許多庫可用於例如[從C#創建Excel文件(http://support.microsoft.com/kb/257757) – Rup

+0

感謝@Rup的http://support.microsoft.com/kb/257757文章的後半部分有什麼我尋找'替代服務器端Automation' –

回答

0

你需要給ASPNET /網絡用戶身份的權限添加/編輯文檔。除此之外,爲什麼不呢?

+0

因爲「微軟目前並不提倡,不支持,Microsoft Office應用程序自動化從任何無人蔘與的非交互式客戶端應用程序或組件(包括ASP,ASP.NET,DCOM,和NT服務),因爲Office在此環境中運行時可能會出現不穩定的行爲和/或死鎖。「 [KB257757](http://support.microsoft.com/kb/257757) – Rup

+0

我對此的第二個Rup遠離! –

+0

在服務器端運行辦公室並不是一個好主意。我使用ASPOSE.Words來處理word和pdf的一代,我的客戶非常高興。 – GRGodoi

相關問題