欢迎来到天天文库
浏览记录
ID:14902063
大小:206.00 KB
页数:11页
时间:2018-07-30
《poi组件操作excel,制作报表(一)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ApachePOI组件操作Excel,制作报表(一)ExcelApacheOfficeBeanJ# Apache的POI组件是Java操作MicrosoftOffice办公套件的强大API,其中对Word,Excel和PowperPoint都有支持,当然使用较多的还是Excel,因为Word和PowerPoint用程序动态操作的应用较少。那么本文就结合POI来介绍一下操作Excel的方法。 Office2007的文件结构完全不同于2003,所以对于两个版本的Office组件,POI有不同的处理API,分开使用即可。首先来说几个Excel的基本概念。对于一个Excel文件,这称为一个
2、工作簿(Workbook),打开Excel之后,在下方会有sheet1/2/3这样的选项卡,点击可以切换到不同的sheet中,这个sheet称作工作表。每个工作表就是我们编辑的区域,这是一张二维表,阿拉伯数字控制行数,从1开始,而程序中还是0,类似数组和集合。字母控制列数,从A开始,Z以后是两个字母控制。对于每一行,我们称为Row,列就是Column,行列可以确定唯一的一个元素,那么就是单元格,称为Cell。 POI组件可以方便的操纵这些元素,但初次接触POI可能会有畏惧心理,因为要对每个单元格进行设置,那么不管是用数组还是集合,从工作簿,工作表,行下来的代码量都不会小,这是不能避免的
3、,但是按照这个处理顺序走,就一定可以得到结果。 有了这些基础的概念之后,我们就可以操作Excel了。先来看一下所需的依赖,因为涉及到2007,就要额外加一些依赖。 下面从读取Excel开始,首先建立一个Excel2003以下版本的xls文件。设定几列来看。来存储学生信息的Excel表如下: 这里的姓名,性别和班级是文本值,而年龄和成绩是数字值,这在设计对象和处理时要注意区分。那么可以如下设计这个对象: Java代码 1.package org.ourpioneer.excel.bean; 2./** 3. * 学生信息 4. * 5. * @author Nanl
4、ei 6. * 7. */ 8.public class Student { 9. private String name; 10. private String gender; 11. private int age; 12. private String sclass; 13. private int score; 14. public Student() { 15. super(); 16. } 17. public Student(String name, String gender, int age
5、, String sclass, int score) { 18. super(); 19. this.name = name; 20. this.gender = gender; 21. this.age = age; 22. this.sclass = sclass; 23. this.score = score; 24. } 25.//省略了getter和setter方法 26. @Override 27. public String toString() { 1
6、. return "Student [age=" + age + ", gender=" + gender + ", name=" + name 2. + ", sclass=" + sclass + ", score=" + score + "]"; 3. } 4.} 提供一个有参数的构造方法,用于生成对象写入Excel文档。这个对象就能刻画Excel文件中的数据了,下面就是写程序将Excel文件加载并处理,然后将内容读出,读取顺序是工作簿->工作表->行->单元格。这样一分析就很简单了。我们定义两个Excel文件,内容相同,
7、只是版本不同,分2003和2007来处理。 创建工作簿时可以接收一个输入流对象,那么输入流对象可以从文件对象来生成,这样就可以继续进行了。取出工作表,取出行,遍历单元格,数据就拿到了。代码如下: Java代码 1.package org.ourpioneer.excel; 2.import java.io.File; 3.import java.io.FileInputStream; 4.imp
此文档下载收益归作者所有