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[, ].Value = "名称";//直接指定行列数进行赋值
worksheet.Cells["A1"].Value = "名称";//直接指定单元格进行赋值
2.表格样式设置
到了这里,大家应该可以明白,Epplus组件对Excel的所有操作,均是在Epplus组件内部完成的。
Epplus组件工作流程:首先创建ZIP包对象ExcelPackage,随后在包对象中通过workbook索引表对象ExcelWorksheet。对表的数据导入或导出,以及表格的格式设置,均是对worksheet进行设置或操作。
C#使用第三方组件Epplus操作Excel表的更多相关文章
- 使用EPPLUS操作EXcel
使用EPPLUS操作EXcel 时间 2014-11-06 19:28:01 姜糖水 原文 http://www.cnphp6.com/archives/58648 主题 Excel 1 下载Ep ...
- ASP.NET Core使用EPPlus操作Excel
1.前言 本篇文章通过ASP.NET Core的EPPlus包去操作Excel(导入导出),其使用原理与NPOI类似,导出Excel的时候不需要电脑上安装office,非常好用 2.使用 新建一个AS ...
- python3 操作excel表
python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库可从这里下载https://pypi.python.org/pypi.下面分别记录py ...
- Asp.Net中使用OpenRowSet操作Excel表,导入Sql Server(实例)
有两种接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎). Jet 引擎大家都很熟悉,可 ...
- java 操作Excel表 创建 查看 修改
需要用到jxl.jar包 修改有两种方法一种是jxl的 另一种需要apache.poi包 package excelChuLi; import java.io.File; import java. ...
- python操作excel表
1.新增表并添加数据: 2.给工作表添加表名称,给表数据添加格式: import xlsxwriterdatas=(['Rent',1000], ['Gas',100], ['fish','画画'], ...
- 使用LinqToExcel和EPPlus操作excel
1.使用LinqToExcel LinqToExcel是一个.net framework平台下开源项目,它主要实现了LINQ的语法查询Excel电子表格.类型之前的LINQToXXX如果你是LINQ语 ...
- DRF框架(三)——media资源路径设置、多表设计复习及补充、序列化组件(ModelSerializer)操作多表(序列化与反序列化)、多表序列化与反序列化整合(重点)
media资源路径设置 (设置好后把图片放在这个文件夹中,通过链接能访问到图片) 1.先在根目录设置一个media文件夹 2.配置settings.py,加上下面的 MEDIA_URL = '/me ...
- vue项目中的elementUI的table组件导出成excel表
1.安装依赖:npm install --save xlsx file-saver 2.在放置需要导出功能的组件中引入 import FileSaver from 'file-saver' impor ...
随机推荐
- BST_insert
#include <stdio.h> /* printf, scanf, NULL */ #include <stdlib.h> /* malloc, free */ stru ...
- 趣图:向客户介绍的产品VS实际开发的产品
趣图:客户需求 vs 最终产品 趣图:你永远想不到用户怎么使用你的产品
- docker概述及基础操作
docker概述 容器技术已经成为应用程序封装和交付的核心技术容器技术的核心有以下几个内核组成CGroups-资源管理NamsSpace-进程管理SElinux-安全 由于是在物理机上实施隔离,启动一 ...
- 【bzoj3309】DZY Loves Math 莫比乌斯反演+线性筛
Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0. 给定正整数a,b, ...
- birth
第一次开通博客, 今天开始了计算机方面的学习,我将通过博客来总结自己的学习内容以及分享学习经验,同时我将分享在技术方面的所见所闻以及所思所想,希望能和大家一起探讨,共同进步~
- idea中文输入问题
desc: idea2017.3.4输入中文,光标不跟随. 解决方案:
- Maven学习笔记(一)—— Maven基础
一.Maven介绍 1.1 什么是maven? Maven是apache下的一个纯Java开发的开源项目,它是一个项目管理工具,使用maven对Java项目进行构建.依赖管理. 1.2 什么是项目构建 ...
- Win10 修改 开始 菜单样式..
因为不是平板,所以改成了这个样子 下面说步骤... 打开 菜单栏位置... 将快捷方式 拷贝到 里面 来... 快捷方式 以 #开头.是为了 让其排列在最前面.... 快捷方式有个技巧...快捷方式 ...
- LeetCode10. 正则表达式匹配
10. 正则表达式匹配 描述 给定一个字符串 (s) 和一个字符模式 (p).实现支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符. '*' 匹配零个或多个前面的元素. 匹配应该 ...
- 大素数判断和素因子分解(miller-rabin,Pollard_rho算法) 玄学快
大数因数分解Pollard_rho 算法 复杂度o^(1/4) #include <iostream> #include <cstdio> #include <algor ...