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[, ].Value = "名称";//直接指定行列数进行赋值
worksheet.Cells["A1"].Value = "名称";//直接指定单元格进行赋值

2.表格样式设置

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

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

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

  1. 使用EPPLUS操作EXcel

    使用EPPLUS操作EXcel 时间 2014-11-06 19:28:01  姜糖水 原文  http://www.cnphp6.com/archives/58648 主题 Excel 1 下载Ep ...

  2. ASP.NET Core使用EPPlus操作Excel

    1.前言 本篇文章通过ASP.NET Core的EPPlus包去操作Excel(导入导出),其使用原理与NPOI类似,导出Excel的时候不需要电脑上安装office,非常好用 2.使用 新建一个AS ...

  3. python3 操作excel表

    python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库可从这里下载https://pypi.python.org/pypi.下面分别记录py ...

  4. Asp.Net中使用OpenRowSet操作Excel表,导入Sql Server(实例)

    有两种接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎). Jet 引擎大家都很熟悉,可 ...

  5. java 操作Excel表 创建 查看 修改

    需要用到jxl.jar包  修改有两种方法一种是jxl的  另一种需要apache.poi包 package excelChuLi; import java.io.File; import java. ...

  6. python操作excel表

    1.新增表并添加数据: 2.给工作表添加表名称,给表数据添加格式: import xlsxwriterdatas=(['Rent',1000], ['Gas',100], ['fish','画画'], ...

  7. 使用LinqToExcel和EPPlus操作excel

    1.使用LinqToExcel LinqToExcel是一个.net framework平台下开源项目,它主要实现了LINQ的语法查询Excel电子表格.类型之前的LINQToXXX如果你是LINQ语 ...

  8. DRF框架(三)——media资源路径设置、多表设计复习及补充、序列化组件(ModelSerializer)操作多表(序列化与反序列化)、多表序列化与反序列化整合(重点)

    media资源路径设置  (设置好后把图片放在这个文件夹中,通过链接能访问到图片) 1.先在根目录设置一个media文件夹 2.配置settings.py,加上下面的 MEDIA_URL = '/me ...

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

    1.安装依赖:npm install --save xlsx file-saver 2.在放置需要导出功能的组件中引入 import FileSaver from 'file-saver' impor ...

随机推荐

  1. SiriShortCut模型建立及数据交互逻辑

    1.模型数据需求 意图: 手机号 密码 网关ID 打开该情景的命令 情景号 情景名 情景背景图 添加该意图时的 token值 主程序登陆共享数据 手机号 token值 2.操作逻辑 1.意图被唤起 获 ...

  2. 1233: 传球游戏 [DP]

    1233: 传球游戏 [DP] 时间限制: 1 Sec 内存限制: 128 MB 提交: 4 解决: 3 统计 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做 ...

  3. CentOS 6.3下Samba服务器的安装与配置【转载】

    本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.h ...

  4. 关于windows上 web 和 ftp 站点的创建及使用

    关于windows上 web 和 ftp 站点的创建及使用 引言 其实这是我网络基础课上的一次作业,觉得挺实用的,遂写成博客分享,也算是对这次作业的一次总结. 实验目的 通过此实验掌握WEB和FTP站 ...

  5. CSS中#和.的区别

    id:用来定义页面中大的样式,如栏目划分,顶部,正文,底部等:用#top的形式来定义: class:用来定义一些比较细节的样式,如具体的一个菜单,一行文字等,用.text的形式来定义. 定义HTML中 ...

  6. CentOS 中安装 jdk

    1.检查是否安装jdk  rpm -qa|grep jav [root@hadoop110 opt]# rpm -qa|grep java 2.卸载版本地域1.7 的jdk rpm -e 软件包 [r ...

  7. Android 连接服务器,并进行相关操作

    1.连接服务器 (1)直接使用WINDOWS自带的远程桌面连接 win+R调出DOS操作窗口,输入mstsc.exe 点击确定,进入如下界面: 点击连接,输入用户名和密码登录,电脑会进入服务器界面.

  8. CodeForces - 779D String Game(二分)

    Little Nastya has a hobby, she likes to remove some letters from word, to obtain another word. But i ...

  9. 【算法笔记】B1015 德才论

    1015 德才论 (25 分) 宋代史学家司马光在<资治通鉴>中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君 ...

  10. SPOJ - LOCKER 数论 贪心

    题意:求出\(n\)拆分成若干个数使其连乘最大的值 本题是之江学院网络赛的原题,计算规模大一点,看到EMAXX推荐就做了 忘了大一那会是怎么用均值不等式推出结果的(还给老师系列) 结论倒还记得:贪心分 ...