Excel導出失敗的解決方案
我按照同事給的步驟配置excel導出功能(如下所示)。
由於導出Excel功能需要服務器安裝Microsoft Office Excel應用程序,並配置Asp.Net用戶權限,以下是配置的操作步驟:
1)、開始--〉運行--〉cmd;
2)、命令提示符下面,輸入mmc -32,打開32的控制台;
3)、文件菜單中,添加刪除管理單元--〉組件服務--〉添加到右側,點擊確定
4)、在"DCOM配置"中找到"Microsoft Excel 應用程序",在它上面點擊右鍵,然后點擊"屬性",彈出"Microsoft Excel 應用程序屬性"對話框
5)、點擊"標識"標簽,選擇"交互式用戶"
6)、點擊"安全"標簽,在"啟動和激活權限"上點擊"自定義",然后點擊對應的"編輯"按鈕,在彈出的"安全性"對話框中填加一個"NETWORK SERVICE"用戶(注意要選擇本計算機名),並給它賦予"本地啟動"和"本地激活"權限
7)、依然是"安全"標簽,在"訪問權限"上點擊"自定義",然后點擊"編輯",在彈出的"安全性"對話框中也填加一個"NETWORK SERVICE"用戶,然后賦予"本地訪問"權限.
8)、重啟IIS。重啟命令iisreset
點擊頁面導出報導出失敗,解決思路如下:
1、打開ie的F12開發人員工具-網絡,顯示錯誤為:500 Internal Server Error,正文-響應正文 顯示詳細錯誤為 Microsoft Office Excel不能訪問文件
2、我看服務器該目錄下確實存在導出文件,那問題就是我本地沒有訪問服務器上已經導出Excel的權限
3、打開應用程序池的高級設置,點擊進程模式,將網站的AppPool標識設置為NetworkService;打開常規,設置啟動32位應用程序為true
4.頁面導出成功
不過我有一個困惑
我這個項目將網站的AppPool標識設置為NetworkService之后導出成功,其他項目之前也是導出失敗,其他項目沒有改網站的AppPool標識也能導出成功,正常的話,其他項目不是要將網站的AppPool標識設置為NetworkService之后才能導出成功么?
后面我把網站的AppPool標識設置改回以前的值,導出正常,那就說明之前導出失敗和網站的AppPool標識沒有關系,那到底是什么導致excel導出失敗?后續如果知道問題答案會持續更新,如果有人知道答案請告訴我哈