`

C#操作EXCEL时的一些问题

阅读更多
最近做东西时涉及到了这方面。主要有以下几个问题。
在XP下开发时遇到的问题:
1.生成EXCEL文件并保存后,销毁了Applicaion对象,但是打开任务管理器,里面还是有一个EXCLE.EXE的进程。上网了找了很多方法,最后发现引用User32.dll才能达到预期的效果,用其他的方法均会出现EXCEL进程的残留。
发布到Windows Server2003时遇到的问题:(此处问题较多)
引用
1.无法引用DLL的错误。

ASP.NET中,服务器端调用COM生成Excel,需要在服务器端安装Excel,否则会提示此类错误
MSDN论坛上对这个问题有比较详细的解释
http://social.microsoft.com/Forums/zh-CN/visualcshartzhchs/thread/a52899d4-bb23-4802-95cd-87b9a6983dd0
引用
2.形如“检索COM类工厂CLSID为。。。。的组件失败”的错误。

我遇到了两处。原因正如网上所说的,DCOM组件的权限问题。解决方法如下:
a.在WinServer2003的运行中输入dcomcnfg,打开“组件服务”窗口,双击打开“计算机”->“我的电脑”->“DCOM配置”,找到“Microsoft Excel Application”点击右键->“属性”,在“安全”中有“启动和激活权限”、“访问权限”、“配置权限”三项,以第一项为例,后两个项目也照此方法进行设置:将“启动和激活权限”中选择“自定义”->“编辑”->“添加”->“高级”->“立即查找”,在窗口下方的用户列表中找到与IIS和ASP.NET有关的账户ASPNET;IIS_WPG;INTERACTIVE;IUSR_;IWAM_,添加即可,权限设为完全控制(网上有说设为默认即可,我未作验证,不过设为完全控制显然是不好的);
b.在“Microsoft Excel Application”->“属性”->“ 标识”中选择“交互式用户”默认是“启动用户”。如果此种方法不通过,则选择“指定用户”,输入在Server03上有对EXCEL进行操作权限的某个用户的用户名和密码。
c.在WebConfig中配置模拟登录。即在<system.web> 加入 <identity impersonate="true" />。其中userName和password为可选属性。
引用
3.“拒绝访问”错误

原因可能是有两个
1.WinServer2003中仍存在EXCEL.EXE进程。在Server2003下,用我最上面提出的杀掉EXCEL进程的方法是行不通的,系统中仍然会残留进程。网上有说可以将EXCEL的操作包装到一个类中,借由销毁这个类的对象来销毁EXCEL进程,这个方法我没试过,不知能不能行的通。
2.ASP.NET账户没有读写WinServer2003中存放EXCEL目录的权限。解决这个问题,在文件夹“属性”->“安全”中添加用户“EveryOne”,使其对文件夹具有读取和修改的权限即可。

参考资料:
http://topic.csdn.net/u/20091225/09/67802bc8-4e72-449c-afbb-9466f3e318b7.html
http://www.cnblogs.com/shanqian/archive/2009/04/03/1429139.html
.
分享到:
评论

相关推荐

    C# 操作Excel写数据生成图表

    C#的,winform的,这是我自己写的一个c#操作excel的例子,其中包括数据操作,字体,格式,单元格等操作,还有一个生成柱状图的方法,所有的方法都在ExcelHelper.cs类里,点击Form1窗体里的按钮可以看到各种操作的...

    C#操作Excel的几种方法

    ### C#操作Excel的几种方法 #### 概述 在.NET框架中,通过C#语言进行Excel文件的操作是一项常见的需求,比如数据导入导出、报表生成等场景。本文将详细介绍几种利用C#来操作Excel的方法,并重点分析一种基于`...

    C#对excel的操作C#对excel的操作

    C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作

    C# 操作Excel案例

    本案例聚焦于"C#操作Excel",这涉及到如何使用C#与Microsoft Office的Excel应用程序进行交互,以实现数据读取、写入、修改等操作。在实际工作中,这种技能对于数据处理、报表生成和自动化任务至关重要。 C#操作...

    C# Excel操作类

    在使用C#操作Excel时,需要注意Excel版本的兼容性问题,避免出现版本不兼容的问题。 9. 在C#中使用Excel的常见应用场景 在C#中使用Excel的常见应用场景有:批量生成报表、自动化数据分析、自动化数据导出等。 C#...

    C#操作Excel

    ### C#操作Excel知识点 #### 一、C#读取Excel的方法 在C#中,可以通过多种方式来读取Excel文件。本节介绍两种方法: ##### 方法一:使用`Microsoft.Office.Interop.Excel` 此方法适用于Office版本的Excel文件...

    C#操作EXCEL文件

    下面是一些核心的C#操作Excel的知识点: 1. **打开Excel文件**:无论使用Interop还是NPOI,都需要指定Excel文件的路径。对于Interop,会创建一个Excel应用程序实例;对于NPOI,只需加载文件到内存。 2. **读取数据...

    C#操作EXCEL类

    在C#中,操作Excel是一项常见的任务,尤其在数据分析和报表生成方面。在这个场景中,开发者面临的问题是如何根据动态的数据生成美观且...通过不断学习和实践,可以提高C#操作Excel的技能,创建更加复杂和美观的报表。

    C#操作ExcelCOM生成复杂图表

    在C#编程中,操作Excel通常是为了处理数据或者创建复杂的报表和图表。Excel COM(Component Object Model)接口提供了一种方式,使得C#程序能够直接与Microsoft Office应用程序交互,包括Excel。本文将深入探讨如何...

    C#操作EXCEl函数

    C#操作EXCEl函数 C#操作Excel函数是指使用C#语言来控制和操作Excel电子表格的功能。通过使用Microsoft.Office.Interop.Excel命名空间,开发者可以在C#程序中使用Excel对象模型来创建、编辑和保存Excel文件。 在C#...

    C_Excel_c#excel_C#_c#excel_Excel.dll_c需要操作excel_

    下面是一些基本的C#操作Excel的步骤: 1. **安装库**:如果你使用的是EPPlus,可以通过NuGet包管理器在你的项目中添加EPPlus库。 2. **打开工作簿**:使用`FileInfo`类创建一个指向Excel文件的实例,然后使用`...

    C#操作Excel源代码

    总的来说,C#操作Excel的源代码是开发人员进行数据分析、报表生成或自动化任务时非常有用的工具。通过理解和应用这些源代码,可以大大简化与Excel文件交互的过程,提高开发效率。同时,注释良好的代码可以帮助初学者...

    C#操作excel 打开-读取-修改-保存 winform入门操作

    操作Excel文件时,务必考虑可能出现的异常,例如文件不存在、权限问题等,使用`try-catch`块捕获并处理这些异常。 8. **性能优化** 当处理大量数据时,考虑使用`Value2`属性代替`Value`,以减少内存占用。此外,...

    C# 操作excel单元格合并,格式,冻结

    ### C# 操作Excel基础 在C#中处理Excel文档通常涉及到几个关键类:`Workbook`, `Worksheet`, 和 `Application`。这些类提供了操作Excel文档所需的大部分功能。 #### 创建Excel Application实例 ```csharp private ...

    C#操作Excel类示例

    总的来说,C#操作Excel的代码示例可以帮助开发者在不依赖完整Office环境的情况下,高效地进行数据处理。无论是读取现有数据还是生成新的Excel报告,这些类和方法都能提供必要的功能。通过学习和应用这些示例,开发者...

    C# 操作Excel大全

    C# 操作Excel大全 c//删除行 //删除一列数据 //设置背景色 //设置Format属性 等

    c#操作EXCEL文件

    本篇文章将详细探讨如何使用C#来操作Excel文件。 首先,C#本身并不直接支持Excel文件操作,但可以通过第三方库或.NET Framework提供的组件实现。其中,最常用的是Microsoft Office Interop库(适用于安装了Office的...

Global site tag (gtag.js) - Google Analytics