2014-04-24 108 views
0

我想用c#創建一個excel文件。我的代碼在Windows Server 2008上工作正常,但是我在窗口服務器2012 R2,iis服務器8.5,ms office 2007標準中出現錯誤。 它告訴我的錯誤就行從asp.net創建Excel文件時出錯

oWB = (Excel._Workbook)(oXL.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet)); 

error: [COMException (0x800a03ec):microsoft office can not save or open more documents.

+1

這可能是因爲您打開的文檔太多,可能是文檔沒有正確關閉/處理 – dmportella

+0

該框是否以64位運行? – rene

+0

它在64位上運行,也沒有文件打開。 –

回答

1

您正試圖創建一個Excel使用COM自動化

  • 從ASP.NET應用程序文件

    這種組合是officially unsupported by Microsoft

    Microsoft does not currently recommend, and does not support, Automation of Microsoft Office applications from any unattended, non-interactive client application or component (including ASP, ASP.NET, DCOM, and NT Services), because Office may exhibit unstable behavior and/or deadlock when Office is run in this environment.

    因此,如果它的工作,到目前爲止您的Windows Server 2008上,這是偶然的巧合。你很幸運。這不是你應該在生產系統上做的事情。

    創建ASP.NET從一個Excel文件,使用各種可用的另一種解決方案:

    (就個人而言,我有SpreadsheetLight很好的經驗,但任何的其他解決方案也不錯)

  • 0

    這是可能的,這是不是你的代碼有問題,因爲它正常工作與Windows Server 2008中,您可以試試這個註冊表破解,但請記住,錯誤的註冊表修改可能是致命的,所以你可能要創建還原註冊表的點或備份:

    1. 運行> REGEDT32
    2. 修正值:HKEY_CURREN T_USER \軟件\微軟\的Windows \ CurrentVersion \ Explorer中\用戶文件夾殼

    3. 在您的用戶文件夾殼選擇緩存鍵,並將其分配給自己的目錄

    也有解決方案,我發現您的問題沒有註冊表修改,請訪問this鏈接或this one,它可能會幫助你。如果這些東西都不適用於您,請嘗試使用Google搜索「Microsoft Office無法保存或打開更多文檔」,並檢查與Excel本身相關的問題。再一次,我認爲這個問題不在你的代碼中。