在做一个excel导入oracle的功能
运行
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application ();
出错,错误提示
:说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.UnauthorizedAccessException: 拒绝访问。
ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate= "true "/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。
若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。
我添加的com组件Microsoft Excel 11.0 Object Library
路径是: C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE
我把asp.net帐户添加进去,并且有全部权限,可是问题还是没解决,请问我要如何做?
------解决方案--------------------------------------------------------
给个提示:确定要导入的 excel 为真正的excel 文件。
我也做过类似的 SQLSERVER 的数据导入,因为导入的 excel 是通过程序导出的文件,
却不是真正的 excel 文件,所以出现过很多奇奇怪怪的错误。
------解决方案--------------------------------------------------------
请正确配置ASP.NET的运行权限。它可以访问excel的dll吗?
如果你对com不了解,可以先给asp.net授管理员权限,看问题是否解决。
------解决方案--------------------------------------------------------
要设置权限:从 "开始 " -运行-dcomcnfg-在应用程序中选择Microsoft
Excel 应用程序,点击其属性.在常规中的“应用程序”中选择“无”。选择“安全性”分别选择
“使用自定义访问权限(S)”和“使用自定义启动权限(M)”,然后选择编辑,添加Everyone用户。选择
“身份标识”中的“交互式用户”
------解决方案--------------------------------------------------------
开始-〉运行-〉dcomcnfg
打开组件服务后
进入到计算机-〉DCOM配置-〉Microsoft Excel 应用程序 右键属性。
在“安全”中将“启动和激活权限”“访问权限”和“配置权限”,这三项全部选为 自定义,并且添加Everyone用户就可以了。