只裝 物件 ,必須為 ActiveX DLL (DLL COM) ,Office 用的是 ActiveX EXE (Automation) ,所以有了 EXE ,當然就要安裝 Office 對應的應用軟體。
COM / Office 本身是以 COM 記憶體模型建構的,因此與 .Net 內建的記憶體模型不同,為了讓你正確呼叫 COM 物件,所以 .Net 會自動幫你建立中間的介面層 DLL ,所以實際上跟 Office 或 COM 是沒關係的,不管你用哪套都是一樣,你的 Office 仍然要安裝,如果你使用到 COM 元件,仍然要安裝。
以上說明,均有記載在 MSDN 內,請詳閱。
另外,在 ASP.NET 內使用 Excel.Application ,大部分的情況將會發生 Excel.Application 無法正常釋放。
也就是說,你每一次瀏覽或產生檔案後,在記憶體內將會留下 Excel.exe ,然後來個幾十次,Server 就掛了。
另外在 ASP.NET 內通常沒有足夠權限跑 Excel ,因此通常要提高權限到 Administrators 才能正常。
論壇是網友平等互助 保證解答請至 微軟技術支援服務
提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。