2013-07-10 60 views
3

我們已經開發了兩個項目WCFASP.net Website.The WCF服務由執行練成一代 它有類似Excel的自動化WCF

Excel.Application xlapp=new Excel.Application(); 
xlapp.visible=true; 
//get data from dataset and process it and then write it to excel 

這WCF服務託管代碼在網頁中點擊按鈕

然而,當我運行IIS此服務和asp.net我的aSP.net網站7一大堆錯誤的的產生

幾個錯誤是賦予權限後如下

Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005."

然後

Application. Microsoft Office Excel cannot open or save any more documents because
there is not enough available memory or disk space. • To make more memory available,
close workbooks or programs you no longer need. • To free disk space, delete files
you no longer need from the disk you are saving to

,因爲所有這些錯誤,我不能夠運行Excel上的IIS 7

我已經嘗試了所有的方法權限從權限到身份驗證,但它會生成錯誤 我在本地機器上運行XP並在IIS機器上運行Win 7(這是WIN 7的問題嗎?)

this鏈接說服務器端辦公自動化根本不支持

沒有任何簡單的方法來啓動IIS 7中的Excel?或者可能是我應該調用Excel在我的ASP.net網站比WCF服務...

感謝所有

回答

3

自動化Excel應與OpenXML庫如果可能的話做,因爲它不需要實例Excel正在運行,這對於服務器端處理來說是最值得懷疑的。

1

Bas Brekelmans是對的。你應該選擇OpenXML。我花了2-3天的時間尋找解決方案。有很多解決辦法。在System32/SysWOW64中創建一個新路徑。

http://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91/excel-2007-automation-on-top-of-a-windows-server-2008-x64

另一種解決方案是通過DCOMCNFG.EXE - >組件服務 - > Computers->我的電腦> DCOM Config->微軟字處理>右鍵單擊 - >屬性 - >安全&身份。

你會發現很多關於它的問題,但可能會發現1-2個工作回覆。

我有一臺服務器與Office的自動配置工作正常,在其他服務器上,它不會告訴你爲什麼。解決了數週的問題。

此外,服務器端自動化功能是Microsoft服務器不支持的功能(不應該是)。

另外,看看你編譯你的項目的版本,如果它是x64或x86。

0

Bas Brekelmansmike27015是正確的。

你不應該去asp.net項目中的COM組件。 更好使用OpenXml庫或第三部分庫如NPOI NPOI是免費的,並且支持xls和xlsx(open xml)類型。