操作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 使用的简单介绍的更多相关文章

  1. [原创]关于mybatis中一级缓存和二级缓存的简单介绍

    关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...

  2. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  3. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  4. yii2的权限管理系统RBAC简单介绍

    这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...

  5. angular1.x的简单介绍(二)

    首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...

  6. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  7. iOS-iOS开发简单介绍

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  8. iOS开发多线程篇—多线程简单介绍

    iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...

  9. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

随机推荐

  1. BZOJ3858: Number Transformation

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3858 题解:设第i个数为i*a;第i+1个数为(i+1)*b.则(i+1)*b>i*a; ...

  2. Linux find xargs rm .orig

    /********************************************************************* * Linux find xargs rm .orig * ...

  3. AngularJS 拦截器和应用例子(转)

    $httpAngularJS 的 $http 服务允许我们通过发送 HTTP 请求方式与后台进行通信.在某些情况下,我们希望可以俘获所有的请求,并且在将其发送到服务端之前进行操作.还有一些情况是,我们 ...

  4. grep的-A-B-选项详解(转)

    grep的-A-B-选项详解(转)[@more@] grep能找出带有关键字的行,但是工作中有时需要找出该行前后的行,下面是解释 1. grep -A1 keyword filename 找出file ...

  5. Oracle 手工清除回滚段的几种方法

    关于回滚段的问题,之前也小整理过一个,参考: Current online Redo 和 Undo 损坏的处理方法 http://blog.csdn.net/tianlesoftware/articl ...

  6. linux下利用backtrace追踪函数调用堆栈以及定位段错误

    一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的. 在glibc ...

  7. Python easy_install

    系统中有高版本的Python, 直接pip3 install ipcalc安装,都是装到高版本的Python 系统默认的Python是2.7.6,现在想装到默认版本中,可以使用easy_install ...

  8. [Irving]WPF Invalid character in the given encoding. Line xx, position xx.' XML is not valid.

    WPF开发中发现Xaml界面中突然抽风似的提示错误 Invalid character in the given encoding. Line xx, position xx.' XML is not ...

  9. 接入脚本interface.php实现代码

    承接上文的WeChatCallBack 在WeChatCallBack类的成员变量中定义了各种消息都会有的字段,这些字段在init函数中赋值.同时也把解析到的XML对象作为这个类的成员变量$_post ...

  10. 用duilib制作仿QQ2013动态背景登录器

    转载请说明原出处,谢谢~~ 在上一篇博客里,我修复了CActiveXUI控件的bug,从而可以使用flash动画来制作程序的背景,这篇博客说明一下应该怎么使用CActiveXUI控件创建透明无窗体的背 ...