zoukankan      html  css  js  c++  java
  • 项目中调用ExcelCom组件时的配置流程

    异常提示如下:
            Microsoft Office Excel 不能访问文件“*.xls”。 可能的原因有:
           1 文件名称或路径不存在。
           2 文件正被其他程序使用。
           3 您正要保存的工作簿与当前打开的工作簿同名。

    莫名的错误,在本机调试一切正常,可是一旦部署到服务器,就无法访问了……

    查了些资料,看到大家都碰到这个问题

    解决方案即在C:WindowsSystem32configsystemprofile和C:WindowsSysWOW64configsystemprofile目录下创建名为Desktop目录即可解决问题

     
    对于COM组件无法访问的问题
    解决办法:
    1.
    1).通过webconfig中增加模拟,加入管理员权限,
    <identity impersonate="true" userName="系统管理员" password="系统管理员密码"/>
    2).这样就能够启动Application进程,操作EXCEL了,能够新建EXCEL,导出EXCEL,但是还是不能打开服务器端的EXCEL文件
     但,此方法有个弊端:如果<identity impersonate="true" />后,如果项目中使用了水晶报表的话,水晶报表将会出现异常,所以讲义使用后一种方式处理
    2. 
    在组件服务,DOCM设置 Microsoft Excel Application的属性,
    因为是在64位系统上面操作,组件服务中DOCOM中默认是没有的,因为Microsoft Excel Application是32的DCOM配置,所以通过如下方式解决(参考第三步)

    3.
    1).开始--〉运行--〉cmd
    2)命令提示符下面,输入comexp.msc -32, 打开32的控制台
    3).文件菜单中,添加删除管理单元--〉组件服务
    4).在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
     5).点击"标识"标签,选择"交互式用户"
     6).点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限
    7).依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.

    具体如图:

  • 相关阅读:
    sqlserver中实现split分割字符串函数
    Sqlserver判断对象是否存在
    C#学习笔记(十):阴影和深度复制 [转]
    C#企业库自定义连接字符串.
    Jquery error 事件
    SQLserver不是可以识别的内置函数名称"的错误,通过set statistics time on能得到SQL语句的执行时间精确到毫秒.
    C#学习笔记(九):c#运算符重载.[简单理解]
    利用sql语句添加字段注释
    如何抓取google的搜索结果?
    SQL SERVER级联删除的简单实现方法
  • 原文地址:https://www.cnblogs.com/stevenjson/p/3149814.html
Copyright © 2011-2022 走看看