C#使用第三方组件Epplus操作Excel表

Epplus操作Excel基础详解

1.什么是Epplus

Epplus是一个使用Open Office XML文件格式,能读写Excel2007/2010文件的开源组件,在导出Excel的时候不需要电脑上安装office。

其中,Open Office XML文档格式包括我们常见的xlsx、docx、pptx等,换而言之,我们常见的这些格式的文件都是基于捆绑XML文件的,使用Epplus操作的本质是通过操作XML文件去操作xlsx。XML,是一种可扩展标记语言,在计算机中,标记指计算机能理解的信息符号,它提供了统一的方法去描述和交换独立于应用程序的结构化数据。使用XML来为Excel工作薄和Word文档提供创建内容的能力。XML在.NET平台之中也具有一席之地,XML解析器在.NET Framework中,由System.XML命名控件提供的。

我们基于.NET平台使用Epplus组件操作xlsx我们需要添加OpenOfficeXML命名空间。Epplus可以实现Excel上的各种基本功能(如导入导出数据、图表、VBA、数据透视表、加密、数据验证等),唯一缺点是不支持导出2003版Excel。

2.使用Epplus创建Excel

首先,添加Epplus的dll文件到项目中,同时在程序中,添加OpenOfficeXML命名空间。

1.在using语句中,使用ExcelPackage创建ZIP包对象,并且可以在package中传入路径参数。

              using (ExcelPackage package=new ExcelPackage(new FileInfo("D:\\test.xslx")))
                {

                }

在这里,我需要向大家详细解释一下Epplus-----Open Office XML格式的组件了。Open Office XML格式本身就是基于XML技术与ZIP技术实现的。XML技术,让代码实现了对Excel工作簿和word文档的操作;ZIP技术,实现了多文件压缩归档,让如今的Excel和word还是单文档形式。换而言之,就是如今的07版之后的,excel以及word其实质是一个捆绑了XML文件的ZIP包。

2.使用ExcelWorksheet创建表对象

using (ExcelPackage package=new ExcelPackage(new FileInfo("D:\\test.xlsx")))
             {
                 ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test1");
                 worksheet = package.Workbook.Worksheets.Add("test2");
             }

在using语句块中,我们可以创建多个worksheet,但worksheet的名称不能重复,否则会报错。

worksheet在这里有两个作用,其一,创建了表对象,在Excel文件中,生成了一张表格;

其二,为后面对Excel表格的各种属性的更改以及操作实施的方法提供了一个有效的接口。

3.使用Package.save()保存Excel

 using (ExcelPackage package=new ExcelPackage(new FileInfo("D:\\test.xlsx")))
                {
                       ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test1");
                       worksheet = package.Workbook.Worksheets.Add("test2");
                       package.Save();
                }

只有使用,package.Save()函数后,Epplus组件才会将excel按初始化传入的路径在本地磁盘上进行保存。

3.使用Epplus对Excel表的操作

1.添加数据

Epplus中给单元格赋值非常简单,两种方法:(ps:Epplus的所有行列数都是以1开始的)

         worksheet.Cells[1, 1].Value = "名称";//直接指定行列数进行赋值
         worksheet.Cells["A1"].Value = "名称";//直接指定单元格进行赋值

2.表格样式设置

到了这里,大家应该可以明白,Epplus组件对Excel的所有操作,均是在Epplus组件内部完成的。

Epplus组件工作流程:首先创建ZIP包对象ExcelPackage,随后在包对象中通过workbook索引表对象ExcelWorksheet。对表的数据导入或导出,以及表格的格式设置,均是对worksheet进行设置或操作。

时间: 2024-08-19 04:03:42

C#使用第三方组件Epplus操作Excel表的相关文章

使用EPPLUS操作EXcel

使用EPPLUS操作EXcel 时间 2014-11-06 19:28:01  姜糖水 原文  http://www.cnphp6.com/archives/58648 主题 Excel 1 下载Epplus最新版: http://epplus.codeplex.com/ 2 在项目中添加引用 EEPULS.dll(测试环境Win7+V2010旗舰) 3  添加using引用 using OfficeOpenXml; using OfficeOpenXml.Drawing; using Offi

MFC:使用ODBC操作EXCEL表

方案一:利用现成的第三方库:CSpreadSheet 使用CSpreadSheet操作EXCEL的局限性:你只能够在EXCEL中创建表,然后才能够采用ODBC的方式操作EXCEL表,否则查询语句中FROM后面的表名称无法填写. 限制 该控件需要MFC(微软基础类库)支持.未测试是否支持Unicode编码.控件以ODBC读写 Excel文件,需要ODBC驱动程序.Excel文件必须列标记.且首行列标记唯一(字段).禁止 删除工作簿,仅允许删除工作簿内容.列值类型参照程序数据类型.不采用Excel格

【C#】解析C#操作Excel表

目录结构: contents structure [+] Microsoft.Office.Interop.Excel.Application Aspose.cell插件 1.Microsoft.Office.Interop.Excel.Application 这.net 库自带的处理Excel的API,不过想要使用该类,电脑上必须已经安装上了Microsoft Office. static void Main(string[] args) { //创建Application的对象 Micros

VBA利用ADO操作EXCEL表

Sub OPENSANDEXC() Dim Conn As Object, Rst As Object Dim sql As String, Path As String Dim i As Integer, PathStr As String Set Conn = CreateObject("ADODB.Connection") Set Rst = CreateObject("ADODB.Recordset") Path = "H:\应付账款9月.xlsm

利用python操作excel表

1.安装 pip install openpyxl 如果excel里面有图片(jpeg, png, bmp,-),需要安装图片处理模块 pip install pillow 创建一个新的工作薄 from openpyxl import workbook wb = workbook() # 默认是最后一个 ws1 = wb.create_sheet('Mysheet') #根据索引第一个 ws2 = wb.create_sheet("Mysheet") #保存 wb.save("

vue项目中的elementUI的table组件导出成excel表

1.安装依赖:npm install --save xlsx file-saver 2.在放置需要导出功能的组件中引入 import FileSaver from 'file-saver' import XLSX from 'xlsx' 3.HTML中的设置,简单来说就是给需要导出的table标签el-table上加一个id:如exportTab,对应下面的exportExcel方法中的 document.querySelector('#exportTab') 4.在methods中设置真正实现

java 操作EXCEL表

Java编码与Excel的交互在实际开发中用的非常多,今天就简单用jxl实现二者的交互.废话不多说,直接贴码! 首先,得导入jxl架包: 1.将数据写入EXCEL中 package com.easyteam.yc01; import java.io.File; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public

java操作Excel表

JAVA编码与Excel的交互在实际开发中用的非常多,今天就简单用jxl实现二者的交互.废话不多说,直接贴码! 首先,得导入jxl架包: 1.将数据写入EXCEL中 package com.easyteam.yc01; import java.io.File; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public

用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中

现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法长时间做某种重复性的枯燥操作.想象这样一个场景,我们有个几千行的表要填,需要根据姓名输入其对应的身份证号,但之前我们已经做过一个类似的表,同样的一些人的姓名跟身份证号是完整的,那么我们就需要通过一个个查找姓名,然后把身份证号码复制到我们当前要做的表里去. 当我日复一日重复着这些操作的时候,我都很想有