簡體   English   中英

Excel Com Interop ASP.Net無法將文件寫入磁盤。 權限?

[英]Excel Com Interop ASP.Net Cannot write file to disk. Permissions?

我有一個非常簡單的Web表單,該表單可讓用戶選擇報告,他們希望在xls中使用特定格式而不是CSV的特定報告。 我在Excel 2007中使用COM INTEROP整理了報告。它在我的本地計算機上可以工作並且可以寫入文件,但是在Web服務器上,它失敗並出現以下錯誤:

Microsoft Office Excel無法打開或保存任何其他文檔,因為沒有足夠的可用內存或磁盤空間。

•要提供更多的內存,請關閉不再需要的工作簿或程序。

•要釋放磁盤空間,請從要保存到的磁盤中刪除不再需要的文件。

服務器上有足夠的磁盤空間,所以我認為不是-這可能是權限問題嗎? 我已經升級了ASPNET和NETWORK SERVICE帳戶,以對我們要將報告保存到的文件夾進行寫和修改訪問權限-但仍然不愉快。 有任何想法嗎?

我需要使用特定的用戶帳戶來調用com對象,還是需要將互操作調用提升為管理員帳戶? 任何想法如何做到這一點?

抱歉,整理好了。

Serge,你在那兒。 我最終以管理員身份運行Excel:

在組件服務中,選擇excel應用程序,然后選擇admin作為運行它的用戶。 看起來可以正常使用一周了:)

謝謝大家!

SpreadsheetGear for .NET允許您使用IWorkbook.SaveToStream將xls和xlsx工作簿直接保存到響應流中。 都是安全的托管C#代碼,因此無需以管理員身份運行任何程序,也不會遇到Excel COM Interop帶來的ASP.NET服務器問題。

您可以看到使用的SpreadsheetGear一些簡單的ASP.NET的Excel報表樣本(C#和VB) 這里和下載免費試用這里

免責聲明:我擁有SpreadsheetGear LLC

您可能想在ASPNET進程中使用模擬功能; 以下是一些有關此操作的信息和示例: 從C#控制台應用程序終止Win進程:如何設置權限? 有關模擬的更多信息如何在ASP.NET應用程序中實現模擬

暫無
暫無

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

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