Epplus 使用的简单介绍

摘要:
这里我们主要介绍Epplus。

操作Excel的主要有以下类库:

  1. MyXls(http://sourceforge.net/projects/myxls/)
  2. Koogra(http://sourceforge.net/projects/koogra/)
  3. ExcelLibrary(http://code.google.com/p/excellibrary/)
  4. ExcelPackage(http://excelpackage.codeplex.com/)
  5. EPPlus(http://epplus.codeplex.com/)
  6. LinqToExcel(http://code.google.com/p/linqtoexcel/)
  7. NetOffice(http://netoffice.codeplex.com/) 需安装Office Excel

从1-6的类库均不需要安装Office,不使用Office COM组件;而NetOffice需要安装Office,它提供的是与Office COM组件差不多的功能。

这里主要介绍 Epplus

关于Epplus使用的文章不多,更没有很丰富的.在这里给大家分享一下,若是大家觉得文章不错,希望大家能够留下足迹,也希望这篇文章能给大家解决实际的问题.这个插件和目前使用比较多的NPOI插件有很多相同的地方,但自己觉得比NPOI更全面和完整一些.NPOI这个插件是我先接触的,由于NPOI不支持图表列印,所以后来才接触了Epplus插件.用它来列印图表真的是很方便.

废话不再多说,下面进入正题

简介:Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件

功效:支持对excel文档的汇入汇出,图表(excel自带的图表基本都可以实现)的列印

使用:首先应该下载Epplus的dll文件

1> 添加dll文件至工程bin文件中

2>在程式中添加引用

using OfficeOpenXml;       

using OfficeOpenXml.Drawing;       

using OfficeOpenXml.Drawing.Chart;       

using OfficeOpenXml.Style;

3>所有的操作语句需要放置在下面的using中

using (ExcelPackage package = new ExcelPackage())

{

}

4.添加新的sheet

var worksheet = package.Workbook.Worksheets.Add(“sheet1");

5.单元格赋值,这里多说一句,NPOI必须先创建单元格,然后再给单元格赋值,而Epplus不需要,直接找到单元格进行赋值就可以了.

worksheet.Cells[int row, int col].Value = “”;

或者

worksheet.Cells["A1"].Value = “”;

6.合并单元格

worksheet.Cells[int fromRow, fromCol, int toRow,int toCol].Merge = true;

7.获取某一个区域

var rangeData= worksheet.Cells[fromRow, fromCol, toRow, toCol];

8.设置字体

worksheet.Cells.Style.Font.Name= “正楷”;

worksheet.Cells.Style.Font.Color

worksheet.Cells.Style.Font.Size

9.设置边框的属性

worksheet.Cells.Style.Border.Left.Style= ExcelBorderStyle.Thin ;

worksheet.Cells.Style.Border.Right.Style= ExcelBorderStyle.Thin;

worksheet.Cells.Style.Border.Top.Style= ExcelBorderStyle.Thin;

worksheet.Cells.Style.Border.Bottom.Style= ExcelBorderStyle.Thin;

10.对齐方式

worksheet.Cells.Style.HorizontalAlignment=ExcelHorizontalAlignment.Center;

worksheet.Cells.Style.VerticalAlignment =  ExcelVerticalAlignment.Bottom;

11. 设置整个sheet的背景色

worksheet.Cells.Style.Fill.PatternType= ExcelFillStyle.Solid;

worksheet.Cells.Style.Fill.BackgroundColor.SetColor(Color.LightBlue);

12.折行显示

worksheet.Cells.Style.WrapText= true;

13.单元格自动适应大小

worksheet.Cells.Style.ShrinkToFit= true;

14.格式化单元格value值

worksheet.Cells.Style.Numberformat.Format= "0.00";

15.锁定

worksheet.Cells["A1"].Style.Locked= true;

注:此处锁定某一个单元格的时候,只有在整个sheet被锁定的情况下才可以被锁定,不然加上锁定属性也是不起作用的~~

二.Epplus另一个出色的地方就是支持图表的列印.功能的實現很簡單,難點在于需求比較細的點上,epplus可能不好實現,但是總的來說是比較好的一個列印圖表的工具

1.简单介绍一下可以实现的图表类型:

直條圖、折綫圖、圓形圖、橫條圖、散佈圖、區域圖 等類型的圖表

2.使用:分为三步,

第一步是将需要显示在图表中的 数据列印到excel中.

第二步是创建所需要的图表类型(折线图为例)

var chart = (worksheet.Drawings.AddChart("LineChart", eChartType.Line) as ExcelLineChart);

第三步为图表添加第一步列印的数据区间就可以了

chart.Series.Add(Y軸顯示的數據源,X軸顯示的數據源)

3.图表的功能就这样实现了,很简单吧

此处图表的没有写出具体代码,因为觉得代码很简单,只是步骤的问题,上面三步走完,图表即可完成了.

还有疑问的,我们可以一起探讨.

免责声明:文章转载自《Epplus 使用的简单介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Vue2、websocket 与node.js接口 本地测试在Ubuntu-14.04.3配置并成功编译Android6_r1源码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

原创:用VBA实现将鼠标选择的单元格按照指定格式合并并复制到剪切板

原创:用VBA实现将鼠标选择的单元格按照指定格式合并并复制到剪切板 一、主要实现以下功能:1、用鼠标选择单元格(可谓连续单元格,也可为不连续的)后,按照要求格式“证件号码:+选定内容+“,”+”选定内容“等等进行合并2、合并后的内容,直接复制到剪切板二、代码示例: SubTestA() Set a = NewDataObject '情况存放合并结果的单...

看似复杂炫酷的数据可视化大屏,学会这个工具轻松搞定

“今朝有酒今朝醉,报表不做不能睡,借问酒家何处有,报表还得编一宿”,这句带有些许幽默感的打油诗背后,却是我从业多年的心酸历程,没错,我就是你们口中做报表的哥哥——表哥。 前些日子在和别人交流的过程中发现,现在市场变化太快,不仅用Excel做报表已经落后了,就连最后的数据都要以美观、直接、酷炫的方式展现出来,我这个什么都不懂又不想学而且只会用Excel的老油...

JavaScript 动态创建表格:新增、删除行和单元格

利用js来动态创建表格有两种格式,appendChild()和insertRow、insertCell()。两种方式其实差不多,但第一种有可能在IE上有问题,所以推荐大家使用第二种了,直接说吧。 1、inserRow()和insertCell()函数 insertRow()函数可以带参数,形式如下: insertRow(index):index从0开始  ...

用Navicat Premium图标编辑器创建表的方法

Navicat Premium 作为一款常见的数据库管理工具,功能非常的强大。其中图表编辑器由画布和垂直的工具栏组成,方便设计图表,例如添加对象、设置图表格式和打印模型等。一些新手用户对这方面的使用不是很了解,下面给大家分享一下用Navicat Premium图标编辑器创建表的方法? 点击“新建图表”即可创建一个新的图表。 创建一个新的表,从图表工具栏点击...

文本超过长度后隐藏,显示省略号

table{   table-layout:fixed; } td{    white-space:nowrap;   overflow:hidden;   text-overflow:ellipsis; }   在table和td分别新增这几个样式就可以了,效果如下: 本方法用于解决表格单元格内容过多时的美观问题,主要涉及到4句CSS样式: 1....

jqgrid 行内修改单元格内容

由于字段较多,但可供用户修改的 字段仅有一个,所有不想通过弹出对话框的方式让用户进行修改。还好jqgrid支持行内数据修改,首先要将cellEdit设为true以支持对单元格的 修改操作。这里讲cellsubmit设为clientArray,当修改完成后并不直接发送到服务器进行保存,而是先保存在table中,当用户点击保 存按钮是才向数据库发送请求更新数据...