`
wjm901215
  • 浏览: 156304 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Excel扩展.NET应用

阅读更多

可以用Excel轻松增加.NET应用软件的功能。下面我们告诉你如何做:


在最近的专栏中,我们探讨过整合微软Word与.NET框架的过程。由于微软Office办公套件功能强大,有大量整合的可能性。在本文中,我们讨论一下整合微软Excel的情形。

坚持应用VBA
我们必须指出,微软Office办公产品套件应用了Visual Basic for Applications (VBA),因此了解一些与组件对象模型(Component Object Model --COM)对象有关的知识会有帮助。但是,.NET COM互操作特性使在.NET应用软件中应用COM对象十分容易。让我们先来全面了解一下Excel对象模型。

Excel对象模型
微软Excel确实提供在其环境内的数百个程序对象。这一整套对象已超出了本文的讨论范围。因此我们只能初步讨论几个对象。下面是四个常见的对象:

* 应用:代表整个Excel应用程序。它揭示大量关于运行程序、应用该实例的选项以及在实例中开放的当前用户对象的信息。
* 工作薄:一个单独的Excel工作薄可包含一个或多个工作表。
* 工作表:一个单独的Excel工作表。工作表对象的大多数属性、方法及事件与应用和/或工作薄类提供的项目相同或类似。
* 范围:工作表单元格的范围。范围对象代表一个单元格,一行或一列。单元格的选择包含一批或多批单元格的选择,或者不同工作表中一组单元格的选择。

对象模型从顶部的应用类开始,因为它是访问Excel的起点。在你开始通过.NET COM互操作应用Excel对象时,你得使它在项目中可用。

应用微软Excel
你的.NET项目必须可应用微软Excel对象库。如果应用Visual Studio .NET,可以通过选择Project-Add Reference菜单为项目增加参考。通过增加参考(Add Reference)窗口中的COM标签可访问系统安装的COM库。Excel列为Microsoft. Excel。根据所安装的Excel版本不同,这一名称可能有所不同。我的系统上安装的是Excel 2003,所以COM库中列出的是Microsoft. Excel 11.0对象库(Object Library)。另外,还需要两个命名空间。

* Microsoft.Office.Interop.Excel:允许你通过.NET互操作应用Excel对象。
* System.Runtime.InteropServices:包括COMException类,允许你正确处理与COM相关的异常。 列表A中的代码段从当地文件系统中加载并打开一个Excel文件(列表A中包含对应的VB.NET代码)。这里是关于代码的几点提示:
* 工作薄对象的开放方法(通过应用对象访问)允许你访问现有的Excel文件。注意:作为一个C#开发器,Type.Missing值是必需的,因为Excel VBA对象方法接受大量的可选参数。Type.Missing值允许你不给参数赋值,但可对它进行重组。VB.NET支持这一方法的可选参数。
* 应用对象设置为可见;工作簿对象被激活,使其显示在屏幕上。
* 捕捉(catch)块处理与COM相关的特殊异常及常见异常。

前面的代码并不包含一个完整的应用程序,但它为我们呈现如何在C#和VB.NET中应用Excel。接下来我们通过操作工作表中的数据做进一步讨论。

列表C中的VB.NET代码建立一个新的Excel表格,插入号码,并执行计算。只有一个按钮的代码包含在内。(列表D包含对应的C#代码。)下面是对代码的几点提示:

* 一个新的Excel工作簿通过应用对象的工作簿属性的添加方法建立。这样建立一个带空白工作表的工作簿。
* 当前工作表通过工作表对象的激活表格(ActiveSheet)属性建立。
* 范围对象用于单个的单元格。单元格通过在表格中的位置来访问。例如,表标题(Techrepublic.com)插入到第一个单元格(A1=A列1行)。范围对象的值属性用于填充单元格。
* 范围对象的方程属性允许你为一个单元格或一组单元格指定一个方程。在此例中,显示整个第二列的值。
* 范围对象的计算方法处理方程。

你可能注意到C#与VB.NET版本之间存在的一些不同。在C#中,工作表类的get_Range方法用于为范围对象示例。另外,get_Range方法有第二个可选参数,所以应用Type.Missing值。最后,激活表格(ActiveSheet)对象必须在工作表类中才能应用。在应用C#运行VBA COM对象时,你得对这些不同有心理准备。

应用环境
一些读者质疑应用Excel时用户系统存在的弱点。但是,本文中的例子是为基于Windows Form的应用程序而建立的。设想的应用环境为内部应用程序,所以当它向外开放时,并不存在很大的安全问题。通过ASP.NET应用Excel也会有自身的问题,这也超出本文讨论的范围。

扩张的功能
整合Excel与.NET应用程序允许你轻松快捷地为一个应用程序提供强大的功能。Excel的计算与展示特色提供大量的选项。

分享到:
评论

相关推荐

    asp.net应用Excelpackage在服务端生成excel

    这个基类定义了插入Excel行和信息的方法,以及获取数据的方法,这样方便我们根据具体需求来扩展和重写这些方法。 然后,我们需要创建一个具体的处理类,如`ExcelParamAbnormal`,继承自`ExcelInsertBase`,并实现...

    VSTO开发Excel工具箱源码(VB.NET版).zip

    VSTO(Visual Studio Tools for Office)是一种微软提供的开发工具,允许开发者使用.NET Framework(这里指VB.NET或C#)来扩展Office应用程序,如Excel,创建自定义功能、任务窗格、宏等。本资源“VSTO开发Excel工具...

    EXCEL汇总 VB.NET

    VB.NET是Visual Basic .NET的简称,是微软.NET框架下的面向对象编程语言,它提供了丰富的库和API,使得我们能方便地操作Excel文件。 首先,我们要理解VB.NET如何与Excel接口。Microsoft.Office.Interop.Excel命名...

    .net不安装office导出excel

    在.NET开发环境中,有时我们需要创建或操作Excel文件,但并不希望用户系统中必须安装...通过这种方式,即使用户系统中没有安装Office,你的应用程序仍然可以生成和导出Excel文件,极大地扩展了.NET应用的功能。

    .net导入导出Excel

    在.NET框架中,导入和导出Excel是一种常见的需求,尤其在Web应用如ASP.NET中,以便用户能够方便地处理数据。本文将详细讲解如何在ASP.NET中实现Excel的导入和导出功能,以及相关的技术要点。 一、Excel与.NET交互的...

    .net Excel导入经典实例

    在.NET开发中,有时我们需要处理Excel数据,例如从Excel文件导入...以上是.NET Excel导入的基本流程和关键知识点,实际应用中可能需要根据具体需求进行调整,例如处理不同版本的Excel文件、优化性能、处理异常情况等。

    c#.netweb页面嵌入excel控件,网页中在线编辑EXCEL表格实例

    在.NET开发环境中,C#与ASP.NET结合可以实现丰富的Web应用程序功能,其中之一就是在网页中嵌入Excel控件,使得用户可以在浏览器中直接编辑和浏览Excel表格。本实例以"C#.NET Web页面嵌入Excel控件,网页中在线编辑...

    ASP.NET中实现EXCEL导入和导出

    ### ASP.NET中实现EXCEL导入和导出 #### 背景介绍 在现代Web应用程序开发过程中,数据的批量处理是一项常见的需求。特别是在教育、金融等领域,经常需要将大量数据从Excel文件导入到数据库中,或者将数据库中的数据...

    导入excel数据到数据库 .net上传解析excel

    在.NET框架中,导入Excel数据到数据库是一项常见的任务,它涉及到文件上传、Excel数据解析以及数据库操作。以下是对这一过程的详细阐述。 首先,我们需要理解.NET中的文件上传机制。这通常涉及用户通过Web表单或者...

    免费版.NET Excel组件_Free Spire.XLS for .NET 8.3

    使用 Free Spire.XLS for .NET,开发人员可以在 .NET 应用程序中快速对 Excel 文档进行各种编程操作,如根据模板创建新的 Excel 文档,编辑现有 Excel 文档以及对 Excel 文档进行转换等。Free Spire.XLS for .NET 是...

    VB.NET批量从EXCEL中提取图像的

    接下来,创建一个Excel应用程序对象并打开你要处理的Excel文件: ```csharp Dim excelApp As New Excel.Application Dim workbook As Excel.Workbook = excelApp.Workbooks.Open("你的Excel文件路径") ``` 然后,...

    Asp.net操作Excel的权限问题

    1. **确保服务器已安装Excel软件**:这是最基本的要求,因为Asp.net应用程序需要通过Excel COM对象来进行操作,如果没有安装Excel软件,自然也无法使用相应的对象。 2. **配置DCOM权限**: - 打开“组件服务”...

    新一代.NET Office开发指南Excel篇

    综上所述,《新一代.NET Office开发指南Excel篇》是一本以实践为导向,深入浅出的Excel开发教程,结合VSTO和C#,可以帮助开发者更好地利用Excel进行业务应用的开发和扩展。通过阅读并实践书中的案例,读者可以大幅...

    ASP.NET导入导出Excel(完整版)

    导入Excel数据到ASP.NET应用程序中,通常涉及以下步骤: - 读取Excel文件:使用NPOI或EPPlus打开并读取Excel文件。 - 解析数据:从工作表中提取数据,如单元格值、行和列。 - 存储数据:将解析的数据存入数据库...

    Excel in the .NET World-Using VSTO

    VSTO为.NET开发者提供了一个强大而灵活的平台,用于扩展和定制Office应用程序,特别是在Excel中的应用。通过VSTO,不仅可以创建传统的Excel工作簿和模板项目,还能构建Word文档和模板,甚至开发Outlook插件,极大地...

    ASP.NET学习大全 (javascript ADO.NET MVC 常用函數 操作EXCEL WebService)

    4. 操作Excel:在ASP.NET应用中,有时需要处理Excel文件,例如读取数据或生成报告。这通常通过使用第三方库,如EPPlus,或者利用Office Interop组件来实现。学习如何在代码中创建、修改和读取Excel工作簿和工作表,...

    分别适用于.NET Framework 2.0和4.0的Excel.dll

    总结来说,这个压缩包包含的两个Excel.dll是为了不同版本.NET Framework环境下的C#开发准备的,使得开发者在不依赖完整Office套件的情况下,能够方便地在WinForm应用中实现对Excel文件的操作。通过正确引用这些DLL,...

    C#,asp.net在线生成Excel

    在IT行业中,生成Excel文件是一项常见的需求,尤其是在数据报表、数据分析和导出功能的应用场景下。本主题聚焦于使用C#和ASP.NET技术在线生成Excel文件。C#是一种面向对象的编程语言,常用于开发Windows桌面应用和...

    .net 仿Excel 控件

    本文将重点介绍一种名为Handsontable的控件,它是`.NET`开发中常用于创建类似Excel体验的工具,特别是在Web应用中。 Handsontable是一款强大的JavaScript库,它提供了一个灵活的表格组件,可以方便地在网页上创建...

    .net读Excel文件并显示

    在.NET框架中,读取和显示Excel文件是一个常见的任务,特别是在数据处理、报表生成或导入导出数据的场景中。本文将深入探讨如何使用.NET来完成这个任务,以标题和描述中提到的关键页面为基础,包括`BaseFunction.cs`...

Global site tag (gtag.js) - Google Analytics