急!EXCEL DCOM组件权限配置问题,请各位大侠帮忙

conanhhy 2009-09-21 08:42:10
我知道这个问题网上GOOGLE一搜,可以找到解决方法,但不知我这边是情况特殊还是其他原因,就是无法解决,希望各位大侠能帮我解决,小弟谢谢了。

问题描述:
有个服务器,上面有两个.NET网站,并且都需要使用EXCEL DCOM组件,我根据网上所说的对EXCEL DCOM组件做了权限配置,一个网站配置成功,但另一个却一直报错,错误信息见2,不知是什么原因?
权限配置如下:
1.1 在EXCEL组件的“安全”标签页,启动和激活权限添加了NETWORK SERVICE、Everyone、IIS应用程序账号、匿名账号,并赋予了本地启动和激活的权限

1.2 访问权限添加了NETWORK SERVICE、Everyone、IIS应用程序账号、匿名账号,并赋予本地访问权限

1.3 配置权限添加了NETWORK SERVICE、Everyone、IIS应用程序账号、匿名账号,并赋予完全控制权限

1.4 “标识”标签页选择“启动用户”,选择“交互式用户”不行

2. EXCEL导入导出的网站总是提示错误信息:
2.1 连接到服务器失败。错误: 0x80070005

2.2 检测到产品 {90110804-6000-11D3-8CFE-0150048383C9},功能 ExcelUserData,组件 {8ADD2C96-C8B7-11D1-9C67-0000F81F1B38} 失败。资源 HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\UserData 不存在。
...全文
981 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjllyyfor 2009-09-23
  • 打赏
  • 举报
回复
我又反复试验了,不是目录的问题,是excel模板的问题,重新建一个excel,就可以打开了,没找到原因,可能是文件权限的问题。
conanhhy 2009-09-23
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 zjllyyfor 的回复:]
我的问题解决了,在其他fat32盘上放了一个目录,用于excel临时生成操作,然后再拷贝到web服务目录下供下载,无法理解.原来在web服务目录下excel临时目录也是设定了可读写权限的。

希望你能早日解决。
[/Quote]

是不是指两个网站放在不同的目录?还是说EXCEL临时目录不一样?
看到希望了。
zjllyyfor 2009-09-23
  • 打赏
  • 举报
回复
我的问题解决了,在其他fat32盘上放了一个目录,用于excel临时生成操作,然后再拷贝到web服务目录下供下载,无法理解.原来在web服务目录下excel临时目录也是设定了可读写权限的。

希望你能早日解决。
kevinhu520 2009-09-23
  • 打赏
  • 举报
回复
up
conanhhy 2009-09-23
  • 打赏
  • 举报
回复
EXCEL问题目前还是没有解决,不过因为需要将EXCEL生成PDF文件的原因,所以权限可能会放到管理员级别,所以这样的话我觉得就没什么问题了。谢谢各位提出的建议。

关于客户临时取消生成或下载,我想到一个变通的方法,大家看下行不行

那如果改成模态弹窗的形式,会不会好一点呢?点击生成EXCEL或下载将按钮改为灰色,窗口关闭按钮也改成灰色。这样至少客户就无法取消了。
LutzMark 2009-09-23
  • 打赏
  • 举报
回复
有可能是补丁问题
robake 2009-09-23
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 woshimaomingren 的回复:]
楼上说的也是,如果用户中途取消下载,线程还没关,所以经常要手工进任务管理器关进程,
不知大家有什么好方法?
[/Quote]

与这个没有关系吧?


'这部分是我生成Excel结尾用的回收的代码,另外还调用了函数CloseExcel,用于在程序执行完成后强制关闭Excel进程,我使用的时候发现Excel可以出现多个进程,也就是说支持多线程的访问的,只要不是访问同一个文件,问题不是很大的。
ExcelMain.ActiveWorkbook.SaveAs(Path)
ExcelMain.ActiveWorkbook.Close()
ExcelMain.Quit()
ExcelMain = Nothing
GC.Collect(0) '强制回收系统资源


Sub CloseExcel()
Dim pro() As Process = System.Diagnostics.Process.GetProcessesByName("EXCEL")
For Each i As Process In pro
i.Kill()
Next
End Sub
Rotel-刘志东 2009-09-23
  • 打赏
  • 举报
回复
office安装时组件安装了吗?
<identity imposnate=true username="" password=""></identity>
woshimaomingren 2009-09-23
  • 打赏
  • 举报
回复
楼上说的也是,如果用户中途取消下载,线程还没关,所以经常要手工进任务管理器关进程,
不知大家有什么好方法?
kaukiyou 2009-09-23
  • 打赏
  • 举报
回复
不要用Excel COM, 慢,死,线程狂多关不掉。

找开源的或者破解的吧。Aspose
conanhhy 2009-09-23
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 zjllyyfor 的回复:]
我又反复试验了,不是目录的问题,是excel模板的问题,重新建一个excel,就可以打开了,没找到原因,可能是文件权限的问题。
[/Quote]

好的,我试试。
njutfyj 2009-09-22
  • 打赏
  • 举报
回复
up学习了
funo 2009-09-22
  • 打赏
  • 举报
回复
webconfig web 中加入 <identity impersonate="true" userName="电脑登录用户名" password="用户名的密码">

这样不安全
可以通过注册表加密
就OK了
我前几天刚搞这个
silentwins 2009-09-22
  • 打赏
  • 举报
回复
资源 HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\UserData 不存在。

重装一下Office组件吧,好像缺了什么东西的样子……
zjllyyfor 2009-09-22
  • 打赏
  • 举报
回复
另外,<identity impersonate="true" userName="电脑登录用户名" password="用户名的密码"> </identity>这句话没有一样可以,只要把目录和excel的权限设好就行。
我可以操作excel那个网站就没有没有配这个,这个配感觉安全上有漏洞。
zjllyyfor 2009-09-22
  • 打赏
  • 举报
回复
hehe,我也同一台机器有一个网站可以,另一个不可以,牛了,同病相怜
http://topic.csdn.net/u/20090922/16/38be94ca-169a-4b7a-bd90-69e03f15ac93.html?seed=1726025860&r=59992263#r_59992263
conanhhy 2009-09-22
  • 打赏
  • 举报
回复
现在出现了奇怪的问题,请各位大侠不吝帮我看下:
1. “标识”标签页选择“启动用户”,生成EXCEL图表的网站能正常生成,但生成EXCEL图表的网站不能正常生成
2. “标识”标签页选择“交互式用户”,生成EXCEL图表的网站能正常生成,但只生成EXCEL数据的网站无法正常生成
conanhhy 2009-09-22
  • 打赏
  • 举报
回复
OFFICE安装是完全安装的,包括编程支持的部分。
OFFICE是肯定激活的。
问题是为什么同样都是.NET网站,一个可以,但另一个就不行?
而且不行的那个网站,导出的EXCEL是包含图表的。
希望大家能帮下,小弟在线等,已经搞了两天了。哎~~~~
guyehanxinlei 2009-09-22
  • 打赏
  • 举报
回复
保证安装有office且被激活
加载更多回复(4)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧