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