簡體   English   中英

從asp.net創建Excel文件時出錯

[英]Error when creating Excel file from asp.net

我正在嘗試使用C#創建一個Excel文件。 我的代碼在Windows Server 2008上運行正常,但是在Windows Server 2012 R2,IIS服務器8.5,MS Office 2007標准中出現錯誤。 它告訴我在線錯誤

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

錯誤:[COMException(0x800a03ec):Microsoft Office無法保存或打開更多文檔。

您正在嘗試創建Excel文件

  • 使用COM自動化
  • 從ASP.NET應用程序。

Microsoft官方不支持此組合:

Microsoft當前不建議也不支持任何無人參與的非交互客戶端應用程序或組件(包括ASP,ASP.NET,DCOM和NT Services)中的Microsoft Office應用程序自動化,因為Office可能表現出不穩定的行為和/在此環境中運行Office時出現死鎖或死鎖。

因此,如果到目前為止它在您的Windows Server 2008上仍然有效,那僅僅是一個巧合。 你真幸運。 這不是您應該在生產系統上執行的操作。

要從ASP.NET創建Excel文件,請使用其他各種可用解決方案之一:

(就我個人而言,我在SpreadsheetLight方面擁有豐富的經驗,但是其他任何一種解決方案也都可以。)

您的代碼很可能不是問題,因為它可以在Windows Server 2008上正常工作。您可以嘗試使用此注冊表黑客,但請記住,錯誤的注冊表修改可能是致命的,因此您可能要創建還原點或備份您的注冊表:

  1. 運行> regedt32
  2. 修復以下值: HKEY_CURRENT_USER \\ Software \\ Microsoft \\ Windows \\ CurrentVersion \\ Explorer \\ User Shell文件夾

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

我也找到了無需修改注冊表即可解決您的問題的解決方案,請訪問鏈接或鏈接,它可能會對您有所幫助。 如果這些都不適合您,請嘗試搜索“ Microsoft Office無法保存或打開更多文檔”,並檢查與excel本身有關的問題。 再一次,我認為問題不在您的代碼內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM