ASP.NET:EXCEL找不到文件、权限不够之综合解决方案

错误信息:找不到“xxx.xls”。请检查文件名的拼写,并验证文件位置是否正确。

错误信息:Excel 无法访问“XXX.xls”。该文档可能为只读或加密文档。

如果您正试图从最近使用的文件列表中打开该文件,请确保该文件未被重命名、移动或删除。 
详细错误信息:Microsoft Excel 
错误堆栈:   at Microsoft.Office.Interop.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)

 

解决办法之一:在systemprofile中建立desktop文件夹

64位:C:\Windows\SysWOW64\config\systemprofile\Desktop

32位:C:\Windows\System32\config\systemprofile\Desktop

 

解决办法之二:IIS提权,将应用程序池改为Local System(本地程序)

进入“Internet 信息服务(IIS)管理器”,然后选择左侧列表的应用程序池,在右边选择你的站点,右击选择“高级设置 ”,在打开的对话框中,找到“进程模型”节点,将“标识”从ApplicationPoolIdentity改成LocalSystem。

IIS6应用程序池:

IIS7应用程序池:

 

解决办法之三:DCOM提权

错误信息:

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Runtime.InteropServices.COMException: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a。

解决办法:

运行dcomcnfg打开组件服务,依次展开"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

找到"Microsoft Excel应用程序"或"Microsoft Word应用程序",

点击"安全"选项卡,依次把"启动和激活权限","访问权限","配置权限",都选择为自定义,

然后依次点击它们的编辑,把everyone添加进去,并加入所有的权限...

1.开始->运行->dcomcnfg ,打开组件服务
2.依次打开 组件服务->计算机->我的电脑->DCOM配置,在右边框加会显示很多组件,如图:

3.找到 Microsoft Excel 应用程序,点右键属性,如图:

4.打开属性窗口后,
 A.选择 常规,在 身份验证级别 中选择:调用,如图:

 B.再选择“安全”,把“启动和激活权限”,“访问权限”,“配置权限”都使用“自定义”,然后再逐个编辑权限。
 C.点击“启动和激活权限”后面的编辑,如果在“组或用户名称”中没有Everyone这个用户的,请点添加,然后在“输入对象名称来选择”下面的框中加入Everyone,然后点确定.然后给Everyone这个用户赋权限,如图:

一般执行到该步骤就OK了,不需要执行下面步骤

其它几个类似,“访问权限”如图:

  D.最后选择“标识”页签,选择“启动用户”

以上所提3个方案,通常只需要做1和2就可以了,设置完2,问题3通常也就解决啦,实在不行的话,再交叉测试吧!

原文地址:点击打开链接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值