Microsoft Office Excel 不能访问文件“D:\inetpub\Temp\13337a38-ef25-461f-8e8b-34ddd7bbed83.xls”。 可能的原因有: ? 文件名称或路径不存在。 ? 文件正被其他程序使用。 ? 您正要保存的工作簿与当前打开的工作簿同名。

System.Runtime.InteropServices.COMException (0x800A03EC): Microsoft Office Excel 不能访问文件“D:\inetpub\Temp\13337a38-ef25-461f-8e8b-34ddd7bbed83.xls”。 可能的原因有:
? 文件名称或路径不存在。
? 文件正被其他程序使用。
? 您正要保存的工作簿与当前打开的工作簿同名。
在 Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)
在 Crewin.Com.Data.XlsReader.Reader(String fileName)

解决方案:
1.首先检查是否安装excel(本人根据报错查了半天才发现没安装excel)
2.运行里面输入comexp.msc -32 来打开32位的组件服务(因为excel是32位的,64位系统里面的组件服务是查不到的,同样踩坑)
3.在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
4.将常规选项卡中的"身份验证级别"设为"无"(如果web.config中设置了身份验证,此处无需设置)
5.点击"标识"标签,选择"交互式用户"
6.点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限
7.依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
8.重新启动IIS,测试通过

posted @ 2020-10-20 16:55  Zbu  阅读(697)  评论(0编辑  收藏  举报