环境xp+vs2003+office2003以前做的程序,excel报表没有问题,最近需要增加功能,但需要向excel中添加数据出报表,但执行到excel.open时就没有响应了。1 - 同一台机器,另外一个solution也是类似的代码,excel功能完全正常,所以dcom中的excel权限已经设置正确;就这个始终不行,事件查看器中显示"检测到产品 {90110804-6000-11D3-8CFE-0150048383C9},功能 ExcelUserData,组件 {8ADD2C96-C8B7-11D1-9C67-0000F81F1B38} 失败。资源 HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\UserData 不存在。"
2 - excel文件夹权限已经开启读写,并且将excel存放目录放入fat32格式下也试过了,不可以。
3 - excel控制代码用vs2003写成dll了,在那个可以打开excel的solution中使用了同样的dll和调用方式。
4 - web.config也比较过了,没有特殊的区别。我从以上现象感觉,机器设置应该没问题,因为另一个solution是可以调用excel的,但两个solution有区别的地方就是目录权限和web.config了,也都比较过。哪位知道还有什么地方那个会产生该问题,帮助提个醒,谢谢啦。

解决方案 »

  1.   

    你是不是引用的excel.dll的问题??
    试试:
    开始 运行 
    输入 dcomcnfg 
    打开组件服务控制台 
    依次展开 
    组件服务 
      计算机 
      我的电脑 
        DCOM配置 找到Microsoft Excel应用该程序 
    右键 属性 
    点安全选项卡 每个都选自定义 
    然后编辑 
      加入NetWork service 完全控制 
      

  2.   


    这个设置过了,如果没设置另外的那个solution也不会可以生成excel的,并且这个没有设置应该直接报异常“拒绝访问”,不会半天没有响应的,谢谢!
      

  3.   

    我的问题解决了,在其他fat32盘上放了一个目录,用于excel临时生成操作,然后再拷贝到web服务目录下供下载,无法理解.原来在web服务目录下excel临时目录也是设定了可读写权限的。