在NPOI中,本身并不支持Chart等高级对象的创建,但通过l模板的方式可以巧妙地利用Excel强大的透视和图表功能,请看以下例子。

首先建立模板文件,定义两列以及指向此区域的名称“sales”:

创建数据表,数据来源填入刚才定义的区域:

最后生成的数据透视表所在Sheet的样式如下:

至此,模板已经建好,另存为“D:\MyProject\NPOIDemo\Chart\Book2.xls”。我们发现,模板就相当于一个“空架 子”,仅仅有操作方式没并没有任何数据。下一步,我们往这个“空架子”中填入数据。我们通过如下代码往这个“空架子”中写入数据:


static void Main(string[] args)

{

    HSSFWorkbook wb = new HSSFWorkbook(new FileStream(@"D:\MyProject\NPOIDemo\Chart\Book2.xls", FileMode.Open));

    HSSFSheet sheet1 = wb.GetSheet("Sheet1");

    HSSFRow row = sheet1.CreateRow(1);

    row.CreateCell(0).SetCellValue("令狐冲");

    row.CreateCell(1).SetCellValue(50000);

    row = sheet1.CreateRow(2);

    row.CreateCell(0).SetCellValue("任盈盈");

    row.CreateCell(1).SetCellValue(30000);

    row = sheet1.CreateRow(3);

    row.CreateCell(0).SetCellValue("风清扬");

    row.CreateCell(1).SetCellValue(80000);

    row = sheet1.CreateRow(4);

    row.CreateCell(0).SetCellValue("任我行");

    row.CreateCell(1).SetCellValue(20000);

    //Write the stream data of workbook to the root directory

    FileStream file = new FileStream(@"test.xls", FileMode.Create);

    wb.Write(file);

    file.Close();

}

打开生成的test.xls文件,发现数据已经被填进去了:

再看数据透视表,也有数据了:

总结:
  Excel有着强大的报表透视和图表功能,而且简单易用,利用NPOI,可以对其进行充分利用。在做图形报表、透视报表时将非常有用!

excel学习教程:http://www.cnblogs.com/atao/archive/2009/10/25/1589606.html

3.5 用NPOI操作EXCEL--巧妙使用Excel Chart的更多相关文章

  1. 用NPOI操作EXCEL--巧妙使用Excel Chart

    在NPOI中,本身并不支持Chart等高级对象的创建,但通过l模板的方式可以巧妙地利用Excel强大的透视和图表功能,请看以下例子. 首先建立模板文件,定义两列以及指向此区域的名称“sales”: 创 ...

  2. NPOI操作EXCEL(四)——反射机制批量导出excel文件

    前面我们已经实现了反射机制进行excel表格数据的解析,既然有上传就得有下载,我们再来写一个通用的导出方法,利用反射机制实现对系统所有数据列表的筛选结果导出excel功能. 我们来构想一下这样一个画面 ...

  3. NPOI操作EXCEL(二)——大量不同模板时设计方式

    上一篇文章介绍了一些NPOI的基础接口,我们现在就来看看具体怎么用NPOI来解析一个EXCEL. 博主现在有这么一堆excel需要解析数据入库: 当然这只是员工的简要模板,还有很多其他的模板.我们可以 ...

  4. NPOI操作Excel辅助类

    /// <summary> /// NPOI操作excel辅助类 /// </summary> public static class NPOIHelper { #region ...

  5. NPOI操作EXCEL(一)——npoi基础

    去年项目有一个子模块需要解析上百张不一样的excel表格入库,当时用的NPOI,做了很久...也尝试想把代码分享到oschina,结果没坚持两篇就放弃了. 赶巧的是,昨天运营那边提出要录入一些基础数据 ...

  6. c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出

    c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...

  7. NPOI操作Excel导入DataTable中

    using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.Data; using System.IO; using NPOI.X ...

  8. NPOI操作excel之写入数据到excel表

    在上一篇<NPOI操作excel之读取excel数据>我们把excel数据写入了datatable中,本篇就讲如何把datatable数据写入excel中. using System; u ...

  9. C#开发中使用Npoi操作excel实例代码

    C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Exce ...

随机推荐

  1. 使用 http://httpbin.org/ 验证代理地址

    发现一个很方便的工具,在Linux 下使用  curl  http://httpbin.org/   可以返回当前使用的一些网络信息

  2. nyoj 21三个水杯(BFS + 栈)

    题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=21 思想: 看了一下搜索就来写了这题(BFS 找出最短路径 所以用此来进行搜索) 这题在 ...

  3. STL"源码"剖析

    STL"源码"剖析-重点知识总结   STL是C++重要的组件之一,大学时看过<STL源码剖析>这本书,这几天复习了一下,总结出以下LZ认为比较重要的知识点,内容有点略 ...

  4. FTL(Flash translation layer)闪存转换层

    前面说过,闪存的读写单位为页,而页的大小一般为4KB或8KB,但我们的操作系统读写数据是按HDD的扇区尺寸进行的(512Byte(字节)),更麻烦的是闪存擦除以块作单位,而且未擦除就无法写入,这导致操 ...

  5. TMS X-Cloud Todolist with FNC

    Wednesday, June 22, 2016 It's almost three months since we released the first version of the TMS FNC ...

  6. WinAPI: GetVolumeInformation - 读取文件系统信息

    //声明: GetVolumeInformation(   lpRootPathName: PChar;              {磁盘驱动器代码字符串}   lpVolumeNameBuffer: ...

  7. 自己模拟实现math.h中的函数

    之前一直都很迷惑pow()函数时怎么实现的,对于整数次的幂我还能很容易做到,但是对于分数次幂就不是那么好做了.需要一些高等数学级数的知识. 我这里实现了求ln(x), pow(double x, do ...

  8. php 配置文件

    <?php return array( 'TMPL_L_DELIM'=>'<{', //配置左定界符 'TMPL_R_DELIM'=>'}>', //配置右定界符 'DB ...

  9. 多线程编程之二 ---MFC中的多线程开发

    下载源代码 五.MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程.二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环. 工作者线程没有消 ...

  10. HttpUrlConnection get和post简单实现(疑惑解决)

    近期研究微信的公众平台开发.须要和微信的server进行数据读取,简单研究了下jdk自带的HttpUrlConnection类(URLConnection的子类),简单实现了一下微信的access_t ...