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导出失败?后续如果知道问题答案会持续更新,如果有人知道答案请告诉我哈