1. EPPlus概述

EPPlus 是使用Open Office XML格式(xlsx)读写Excel 2007 / 2010文件的.net开发库。

EPPlus 支持:

单元格范围

单元格样式(边框,颜色,填充,字体,数字,对齐)

图表

图片

形状

批注

表格

保护

加密

数据透视表

数据验证

条件格式

VBA

公式计算

更多……

2. EPPlus核心类介绍

2.1  ExcelPackage类

ExcelPackage是EPPlus的入口类,解析一个Excel文件,生成ExcelWorkbook对象来表示一个Excel。该类实现了IDisposable接口,也就是说可以使用using进行对象释放。

10个构造函数,下面是常用的3个:

public ExcelPackage();

public ExcelPackage(FileInfo newFile);

public ExcelPackage(Stream newStream);

不管构造函数中传入的参数是否有效,该类的Workbook属性都会自动创建,无须担心空指针问题。

2.2 ExcelWorkbook类

ExcelWorkbook类表示了一个Excel文件,其Worksheets属性对应着Excel的各个Sheet。Worksheets属性会自动创建,不用担心空指针异常,但是其Count可能为0。

ExcelWorkbook的Properties属性可以对Office的一些属性进行设置,例如:

public string Author { get; set; }

public string Title { get; set; }

public string Comments { get; set; }

注意:在获取具体的Sheet时,索引号从1开始,例如:

ExcelWorksheet sheet = package.Workbook.Worksheets[1];

2.3 ExcelWorksheet类

一些常用属性:

sheet.DefaultColWidth = 10; //默认列宽

sheet.DefaultRowHeight = 30; //默认行高

sheet.TabColor = Color.Blue; //Sheet Tab的颜色

sheet.Cells.Style.WrapText = true; //单元格文字自动换行

对行列的增删操作:

public void InsertRow(int rowFrom, int rows);

public void InsertColumn(int columnFrom, int columns);

public void DeleteRow(int rowFrom, int rows);

public void DeleteColumn(int columnFrom, int columns);

设置指定行或列的样式(宽、高、隐藏、自动换行、数字格式、锁定等):

sheet.Column(1).Width = 10;

sheet.Row(1).Height = 30;

sheet.Column(1).Hidden = true;

sheet.Row(1).Hidden = true;

sheet.Column(1).Style.WrapText = true;

sheet.Column(1).Style.Numberformat.Format = "$#,###.00";

sheet.Row(1).Style.Locked = true;

自适应宽度设置:

public void AutoFit();

public void AutoFit(double MinimumWidth);

public void AutoFit(double MinimumWidth, double MaximumWidth);

//未传入MinimumWidth时,使用Sheet的DefaultColWidth作为最小值,此时若没有提前对DefaultColWidth进行设置就会报错

//此方法时对自动换行和合并的单元格无效

2.4 ExcelRange类

3个获取单元格范围的方法:

public ExcelRange this[string Address] { get; }

//Address是指"A1:C5"这种格式

public ExcelRange this[int Row, int Col] { get; }

public ExcelRange this[int FromRow, int FromCol, int ToRow, int ToCol] { get; }

重要属性:

public object Value { get; set; }

//获取或设置单元格的值

复制单元格:

public void Copy(ExcelRangeBase Destination);

从二维数据集合中装载数据:

public ExcelRangeBase LoadFromCollection(IEnumerable Collection);

public ExcelRangeBase LoadFromDataReader(IDataReader Reader, bool PrintHeaders);

public ExcelRangeBase LoadFromText(FileInfo TextFile);

//这里的文件是指CSV文件

//数据装载时,会与ExcelRange的行列进行对应,将值设置到其中,这些单元格没有样式和数字格式

2.5 样式

样式包括字体、颜色、对齐、边框等。

range.Style.Fill.PatternType = ExcelFillStyle.Solid;

range.Style.Fill.BackgroundColor.SetColor(Color.Gray);

//在设置Style.Fill的其他属性之前,必须设置PatternType

//设置了Style.Fill.PatternType之后,必须设置Style.Fill.BackgroundColor,否则单元格背景为黑色

//注意Style.Fill.BackgroundColor是个只读属性,需要通过SetColor()方法设置颜色

range.Font.Color.SetColor(Color.Red);

range.HorizontalAlignment = ExcelHorizontalAlignment.CenterContinuous;

2.6  数字格式

range.Style.Numberformat.Format = "$#,###.00";

使用数字格式时,一定要自行检查格式的正确性,因为产生的过程中EPPlus不会检查其正确性,如果格式有错,在打开产生的Excel文件时会提示文件格式不正确。

2.7 公式

sheet.Cells[1, 3].range.Formula = "AVERAGE(A1, B1)";

sheet.Cells[1, 3].FormulaR1C1 = "AVERAGE(RC[-2], RC[-1])";

//以上两个公式表达意思相同——对于第一行,C列的值等于A列和B列的平均值

使用公式和使用数字格式有同样的注意事项,需要自行检查正确性。

建议总是记录当前Sheet有多少行和列,方便使用公式时定位单元格。

建议对公式相关代码进行注释,有助于其他程序员理解。

3. 代码示例

3.1 WPFDemo

运行效果如图:

点击Export可以把表格中显示的内容导出到Excel。

点击RefreshTable可以刷新表格的内容。

点击Import把导出的Excel再导入进来。

Demo中没有对Excel的内容做完整的验证,如果手动修改了Excel格式的话,可能会报错。

3.2 MVC Demo

运行效果如图:

4. 参考链接

epplus word html,使用EPPlus(C#)读写Excel相关推荐

  1. epplus word html,.Net开源Excel、Word操作组件-NPOI、EPPlus、DocX

    一.NPOI 简介: NPOI is the .NET version of POI Java project. With NPOI, you can read/write Office 2003/2 ...

  2. C#读写Excel的4种方案(OpenXml、NPOI、EPPlus、Spire.Office)

    在项目中需要使用C#读写Excel,每天定时将数据输出到Excel表格中.在参考了很多的方案后,找到了4个常用的方案,并提供了一些小Demo.更多功能和示例可以参考官方文档. 1.Microsoft. ...

  3. EPPlus 读写 Excel 资料收集

    1. EPPlus概述 EPPlus 是使用Open Office XML格式(xlsx)读写Excel 2007 / 2010文件的.net开发库. 官网:http://epplus.codeple ...

  4. C# EPPlus读写Excel

    记录一下自己学习使用EPPlus读写Excel的知识点. EPPlus开源库,可以直接在vs上的NuGet包里直接安装. 1.写入Excel文件 using OfficeOpenXml; . . .E ...

  5. 使用EPPlus(C#)读写Excel

    1. EPPlus概述 EPPlus 是使用Open Office XML格式(xlsx)读写Excel 2007 / 2010文件的.net开发库. 官网: http://epplus.codepl ...

  6. 转:使用EPPlus(C#)读写Excel

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/alanzyy/article/deta ...

  7. Unity(四十二):EPPlus读写Excel数据、JSON解析

    获取EPPlus 下载EPPlus 将得到的EPPlus.dll移动到Plugins文件夹下 读取Excel数据 // Assets/Example_01/Editor/HandleExcel.csu ...

  8. epplus word html,EPPlus简介

    简介:Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件 功效:支持对excel文档的汇入汇出,图表(excel自带的图表基本 ...

  9. 用excel数据写入html,如何使用epplus将我的html表格写入excel文件

    因此,我在这里要做的是使用epplus将简单的html表格写入xlsx(excel)文件.代码IVE走到这一步是如何使用epplus将我的html表格写入excel文件 控制器: public voi ...

最新文章

  1. C语言----表达式求值之隐式类型转换
  2. jQuery对象插件封装步骤
  3. python ctime函数_Python中的ctime()方法使用教程
  4. chrome只能装在c盘吗_电脑硬盘使用与文件整理入门——逃离C盘?
  5. 3- OpenCV+TensorFlow 入门人工智能图像处理-TensorFlow入门
  6. Java项目转变为Java Web项目
  7. mysql字段是否存在_Mysql判断表字段或索引是否存在
  8. 利用并查集判断一个无向图是否成树
  9. 今天开始写一些内容,留作备份。
  10. JPEG 及MJPEG开发笔记
  11. IIS6.0 + openssl执行版 + Windows2003--配置篇
  12. 乳化液稳定剂php,乳化液稳定剂PHP对小于0.1mm煤泥浮选的影响
  13. ospybook安装包及安装过程
  14. 老翟书摘:《丰田生产方式》
  15. arcgis中python计算面积的表达式_ArcGIS应用——四种计算图斑面积的方法
  16. Bootstrap 实例1
  17. 清理C盘(浪费了很多时间,终于找到了一个比较高效的方法)
  18. WinForm的控件
  19. Pandas 02-基础
  20. 漫画:二分解题模板(第一讲)- 修订版

热门文章

  1. 留学选校+个人定位工具— “指南者留学”APP正式上线
  2. python elif invalid syntax_Python中elif语法无效
  3. 【BOOST C++ 15 泛型编程】(2)Boost.EnableIf
  4. 在 iMovie 剪辑中如何创建绿屏效果?
  5. LeetCode 312.戳气球
  6. 收拾好心情,继续前进吧
  7. 使用easyExcel灵活设置样式并导出数据到Excel
  8. 用Python求两条线段的交点,包括延长线的交点
  9. C语言2048源代码
  10. scp linux 命令加密码,scp命令_Linux scp 命令用法详解:加密的方式在本地主机和远程主机之间复制文件...