POI组件操作Excel,制作报表(一)【DOC精选】.doc

POI组件操作Excel,制作报表(一)【DOC精选】.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
POI组件操作Excel,制作报表(一)【DOC精选】

Apache POI组件操作Excel,制作报表(一) ExcelApacheOfficeBeanJ# ??? Apache的POI组件是Java操作Microsoft Office办公套件的强大API,其中对Word,Excel和PowperPoint都有支持,当然使用较多的还是Excel,因为Word和PowerPoint用程序动态操作的应用较少。那么本文就结合POI来介绍一下操作Excel的方法。? ??? Office 2007的文件结构完全不同于2003,所以对于两个版本的Office组件,POI有不同的处理API,分开使用即可。首先来说几个Excel的基本概念。对于一个Excel文件,这称为一个工作簿(Workbook),打开Excel之后,在下方会有sheet1/2/3这样的选项卡,点击可以切换到不同的sheet中,这个sheet称作工作表。每个工作表就是我们编辑的区域,这是一张二维表,阿拉伯数字控制行数,从1开始,而程序中还是0,类似数组和集合。字母控制列数,从A开始,Z以后是两个字母控制。对于每一行,我们称为Row,列就是Column,行列可以确定唯一的一个元素,那么就是单元格,称为Cell。? ??? POI组件可以方便的操纵这些元素,但初次接触POI可能会有畏惧心理,因为要对每个单元格进行设置,那么不管是用数组还是集合,从工作簿,工作表,行下来的代码量都不会小,这是不能避免的,但是按照这个处理顺序走,就一定可以得到结果。? ??? 有了这些基础的概念之后,我们就可以操作Excel了。先来看一下所需的依赖,因为涉及到2007,就要额外加一些依赖。? ? ??? 下面从读取Excel开始,首先建立一个Excel 2003以下版本的xls文件。设定几列来看。来存储学生信息的Excel表如下:? ? ??? 这里的姓名,性别和班级是文本值,而年龄和成绩是数字值,这在设计对象和处理时要注意区分。那么可以如下设计这个对象:? Java代码?? package?org.ourpioneer.excel.bean;?? /**? ?*?学生信息? ?*?? ?*?@author?Nanlei? ?*?? ?*/?? public?class?Student?{?? ????private?String?name;?? ????private?String?gender;?? ????private?int?age;?? ????private?String?sclass;?? ????private?int?score;?? ????public?Student()?{?? ????????super();?? ????}?? ????public?Student(String?name,?String?gender,?int?age,?String?sclass,?int?score)?{?? ????????super();?? ????????this.name?=?name;?? ????????this.gender?=?gender;?? ????????this.age?=?age;?? ????????this.sclass?=?sclass;?? ????????this.score?=?score;?? ????}?? //省略了getter和setter方法?? ????@Override?? ????public?String?toString()?{?? ????????return?Student?[age=?+?age?+?,?gender=?+?gender?+?,?name=?+?name?? ????????????????+?,?sclass=?+?sclass?+?,?score=?+?score?+?];?? ????}?? }?? ??? 提供一个有参数的构造方法,用于生成对象写入Excel文档。这个对象就能刻画Excel文件中的数据了,下面就是写程序将Excel文件加载并处理,然后将内容读出,读取顺序是工作簿-工作表-行-单元格。这样一分析就很简单了。我们定义两个Excel文件,内容相同,只是版本不同,分2003和2007来处理。? ??? 创建工作簿时可以接收一个输入流对象,那么输入流对象可以从文件对象来生成,这样就可以继续进行了。取出工作表,取出行,遍历单元格,数据就拿到了。代码如下:? Java代码?? package?org.ourpioneer.excel;?? import?java.io.File;?? import?java.io.FileInputStream;?? import?java.io.IOException;?? import?java.io.

文档评论(0)

taotao0b + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档