Excel COM组件使用的注意事项和一些权限问题(转载)

1.实例化Excel的COM组件的时候,不要直接调用类,要用Microsoft提供的接口

原来的写法:Excel.ApplicationClass excelApp = new Excel.ApplicationClass();//实例化Excel

现在的写法:Excel.Application excelApp = new Excel.ApplicationClass();//实例化Excel

直接调用类的时候,Excel不能关闭,以前采用的强制结束进程的方法在客户端没有权限

使用接口后成功解决该问题

2.不能直接使用Excel.Application.Workbooks.Open()方法打开文件

原来的写法:Excel.Workbook wb = excelApp.Application.Workbooks.Open(FilePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);//创建WorkBook

现在的写法:Excel.Workbooks wbs = excelApp.Workbooks;

Excel.Workbook wb = wbs.Open(FilePath, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing,
Type.Missing);//创建WorkBook

这个问题有点莫名其妙,Workbooks必须要实例化出来,直接越过调用时会报错,而且在本地执行时没问题,远程调用就会出错。现在还是不知道为什么?

3.Excel组件的权限设置

“开始”->“运行”->“dcomcnfg”->“组件服务”->“计算机”->“我的电脑”->“DCOM配置”->“Microsoft
Excel 应用程序”->“属性”

“标识”标签里选择“交互式用户”

“安全”标签里全部选择“自定义”,全部添加“ASPNET”用户并赋予权限

最后,最重要的:重新启动计算机

4.一些权限配置问题

通过IIS访问文件时,没有修改和删除的权限

需要赋予要操作的文件夹的权限

找了很久终于找到设定的方法

“文件夹选项”->“查看”

取消“使用简单文件共享”的勾选框(这点最重要,害我找了很久...怨念...)!

打开要控制的文件夹的属性,这下就会出现了“安全”标签!

然后添加“ASPNET”用户并赋予权限!

转载自:http://blog.sina.com.cn/s/blog_6248dc000100g26c.html

时间: 2024-10-03 20:24:29

Excel COM组件使用的注意事项和一些权限问题(转载)的相关文章

浅谈控件(组件)制作方法一(附带一delphi导出数据到Excel的组件实例)(原创)

来自:http://blog.csdn.net/zhdwjie/article/details/1490741 ------------------------------------------------------------------- 从99年学习delphi开始,我就被它的快速开发迷上了,那时候刚接触编程,对可视化开发特别来劲,原因嘛,不外乎是比C更快的实现啦,这几年来,从delphi的C/S到三层B/S,大大小小也写过一些软件,自认为这delphi也就这么些功能吧,自从最近偶得一

Windows:Word,PPT,EXCEL com+组件配置

本文所涉及到配置前提: 服务器必须安装Office套件(Word,PPT,Excel) 第一部分 Word Com+组件权限配置 1.cmd模式输入dcomcnfg 2.找到Microsoft Word 97-2003 Document权限 3.在上面弹窗中,启用和激活权限.访问权限中 添加Network Service账号.IIS_IUSERS账号,并设置对应权限 在标识选项中使用下列当前系统登录账号和密码 第二部分 Excel Com+组件权限配置 步骤同第一部分,注意 配置项: 第三部分

释放用完的Excel COM组件

How to Open; SaveAs; then Close an Excel 2013 (macro-enabled) workbook from PowerShell4 1. (http://www.cnblogs.com/fuhj02/archive/2010/12/23/1914313.html) $xl.Quit() $ws = $null $wb = $null $xl = $null [GC]::Collect() 2.(http://technet.microsoft.com/

C# 将内存中的datatable数据导出为Excel(方法一,以文件流方式导出)【转载】

上次做了以Excel文件为数据源,进行数据导入,今天,给大家分享一下如何将内存中的datatable以文件流的方式导出为Excel文件,而且个人觉得这个方法非常不错,高效,简单. 技术要点:1.创建文件流,用于写最终的文件StreamWriter sw = new StreamWriter(fileName, false,Encoding.GetEncoding("gb2312")); 2.使用  StringBuilder类把数据组合为长字符串插入到excel文件中,sb.Appen

四大组件之ContentProvider(四)-ContentProvider的权限使用和监听

第5节 ContentProvider的使用权限 ContentProvider可以被其他应用使用(就像一个公共网站,可以被任何人访问):也可以被设置成只被自己所在的应用使用(就像一个内部网站,只能在公司内部访问). 这只需要在应用的AndroidManifest.xml文件中,给ContentProvider设置上android:exported属性, <provider android:name=".MyContentProvider" android:authorities

Excel导入导出的业务进化场景及组件化的设计方案(转)

1:前言 看过我文章的网友们都知道,通常前言都是我用来打酱油扯点闲情的. 自从写了上面一篇文章之后,领导就找我谈话了,怕我有什么想不开. 所以上一篇的(下)篇,目前先不出来了,哪天我异地二次回忆的时候,再分享分享. 话说最近外面IT行情飞涨还咋的,人都飞哪去了呢,听说各地的军情都进入紧急状态了. 回归下正题,今天就抽点时间,写写技术文,和大伙分享一下近年在框架设计上的取的一些技术成果. 2:项目背景 在针对运营商(移动.联通.电信.铁塔)的信息类的系统中,由于相关的从业人员习惯于Excel的办公

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005 【网站客户端无法读取服务器本机上的Excel】

问题描述:.NET无法读取excel 现象:执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005. 原因: web上传到服务器,然后读取excel时,服务器端会存在c#是否有

关于导出Excel出现异常的解决办法。:System.UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败

异常信息为:System.UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败 网上找了解决方法 1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务" 2:依次双击"组件服务"->"计算机"->"我的电脑"->

c#使用word、excel、pdf ——转

一.C# Word操作引入Word COM组件菜单=>项目=>添加引用=>COM=>Microsoft Word 11.0 Object Libraryusing Word =  Microsoft.Office.Interop.Word;1.功能:将数据以自制表格形式插入WORD中2.主要程序代码如下:创建新Wordobject oMissing = System.Reflection.Missing.Value;Word.Application oWord;Word.Docum