我想從ASP.NET創建一個excel文件。我假設這個文件是在某處臨時創建的嗎?我怎樣才能得到這個位置?我可以確定打開的Excel工作簿的臨時路徑嗎?
回答
如果您使用的是臨時路徑或臨時文件,則不應該關心它在哪裏。如果你需要關心你應該使用具體文件的具體路徑。您也可以使用MemoryStream在沒有HardDisk的情況下執行此操作。
編輯: 附加評論我建議您使用Open XML創建一個Excel工作表。如果這是一個選項,讓我知道,我會發布更多的。
我必須說我不知道克里斯泰勒爾斯這篇文章的這篇文章,如果我去年發現了這篇文章,它爲我節省了很多時間。但是在這一點上我必須說的是;有可能獲得運行的服務器端解決方案,它使用互操作,並且去年我需要它。但它是一個痛苦,直到它的工作,如果有人想給它一個嘗試這裏有一些建議:
- 你不應該互操作直接 從ASP apllication使用
- 你不能使用模擬(它可 失敗意外)
- 你需要它運行的服務作爲 系統
- 你需要在運行 互操作
- 一個可執行文件,你必須管理的執行 通過服務(我的意思是 管理,而不僅僅是啓動)
再次;我不建議這樣做。如果你使用任何其他解決方案。 (MS使用SharePoint2010支持自動化服務)
你用什麼來創建Excel文件?既然你有一個ASP.NET標籤,我希望你不要試圖用Office COM Automation做到這一點,它不被支持,並相信我這是非常非常不可靠的。看到微軟http://support.microsoft.com/kb/257757此鏈接
從任何無人蔘與的非交互式客戶端應用程序或組件的鏈接微軟目前並不提倡,不支持,Microsoft Office應用程序自動化
主要信息(包括ASP,ASP.NET,DCOM和NT服務),因爲Office在此環境中運行時可能會出現不穩定的行爲和/或死鎖。
我建議你看看使用NPOI庫,它是非常快速的,並在服務器端可靠地工作。然後您可以控制文件的生成位置。
我可以補充說的是,開發環境和生產系統之間也可能有很大的區別。 – sra 2011-04-28 11:11:14
我讀過你以前給過我的這篇文章!!!我不熟悉NPOI .....有沒有其他解決方案??? – user726895 2011-04-28 11:12:56
@ user726895,沒有使用Office Automation的可靠工作的解決方案。我強烈建議你看一下NPOI,但實際上並不是很難,但實際上通過自動化API進行瀏覽更簡單。 – 2011-04-28 11:15:45
- 1. 你可以用JExcel打開/保存工作簿到不確定的路徑嗎?
- 2. 什麼打開我的Excel工作簿?
- 3. Excel VBA中打開的工作簿
- 4. Excel工作簿打開宏重新打開關閉的工作簿
- 5. 打開工作簿時出錯。確保Excel已安裝
- 6. 使用Marshal.GetActiveObject在空白的Excel工作簿中打開Excel工作簿
- 7. 通過VBA打開Excel工作簿
- 8. Excel VBA無法打開工作簿
- 9. VSTO - 中止打開Excel工作簿
- 10. 我可以更改臨時文件夾路徑嗎?
- 11. Selenium能否以實用的方式打開Excel工作簿
- 12. 使用Excel Interop打開Excel工作簿時出現問題
- 13. excel打開只讀工作簿時,對象「工作簿」的「打開」方法失敗錯誤
- 14. Excel VBA - 在宏內循環保存的工作簿...工作簿無法打開
- 15. 關閉所有的excel工作簿(excel的幾個實例可能會打開)
- 16. 以VB6只讀方式打開Excel工作簿
- 17. 我如何打開多個Excel工作簿從MATLAB
- 18. Excel的互操作錯誤在打開工作簿
- 19. Excel工作簿的工作表選項卡可以通過VB.Net在工作簿中排序嗎?
- 20. Perl Excel :: Writer :: XLSX公式不計算工作簿打開時
- 21. 使用C打開Excel工作簿時出現語法錯誤
- 22. Excel VBA-運行時錯誤1004打開工作簿
- 23. 使用C#代碼打開Excel工作簿時出現錯誤
- 24. 在打開每個Excel工作簿時自動運行宏
- 25. 如何停止Excel工作簿在自動打開時閃爍?
- 26. Microsoft.VisualBasic.Logging臨時路徑的確切位置
- 27. 如何從Excel工作簿打開多個工作表?
- 28. 打開外部工作簿
- 29. 我需要設置Excel工作表的路徑,以便我可以使用相對路徑來加載DLL
- 30. 瀏覽excel工作簿並打開,然後在代碼中使用工作簿
即時通訊使用Interop.Excel期間,我打開一個工作簿使用'Excelapp.workbooks.add [1]'...但在服務器上,它會寫入數據? – user726895 2011-04-28 11:04:33
克里斯泰勒解釋它的所有內容。由於生產系統的權限問題,我不建議使用Interop。如果你還想使用它,可以創建一個服務來管理一個或多個關心互操作的工作進程。 – sra 2011-04-28 11:16:03