使用Apache开源POIjXLS两种API生成报表
            人:杜航航
            编写时间:2011/1/28
1 引言    3
2 使用POI对Excel进行读写    4
2.1 POI读取excel文件的内容    4
2.2 使用POI对Excel进行写操作    6
2.3 创建Sheet    6
2.4 创建Cell    7
2.5 设置Cell的格式    7
3 使用jXLS生成Excel报表    8
3.1 使用excel模板生成报表    8
3.2 根据模板生成图表    9
3.3 根据数据库数据生成报表    11
1 引言
在电信领域,生成报表是日常工作中必不可少的一项任务。提供报表的方式也是多种多样,例如使用BO来生成报表,使用eclipse的插件来做报表。但是有些时候,需要我们自已来开发报表。这就是要借助于报表操作的API来完成。可以通过API直接将数据读写如报表文件,也可以根据模板来生成报表。
根据这个需要,我研究了一下操作报表的两种API,一种Apache的开源项目POIPOI是针对微软OFFICE文档的一种JAVA API,使用该API可以实现对微软的OFFICE文档的各种操作。其中使用最广泛的是对MS wordexcelPPT的操作。不仅仅支持windows 2003off
iceresultset 遍历文档还支持windows 2007office文档。例如:HSSF is the POI Project's pure Java implementation of the Excel '97(-2007) file format. XSSF is the POI Project's pure Java implementation of the Excel 2007 OOXML (.xlsx) file format.
HSSF and XSSF provides ways to read spreadsheets create, modify, read and write XLS spreadsheets. They provide:
low level structures for those with special needs
an eventmodel api for efficient read-only access
a full usermodel api for creating, reading and modifying XLS files
再随后的例子中,我也将以操作Excel作为例子,使用HSSF操作Excel '97(-2007)POI这个开源项目的特点是直接对Excel的每个sheet或者是每个Row,或者是每个Cell操作。API的优点是简单易懂,容易上手。对于复杂表格的操作比较繁琐,并且不方便生成各种饼状图和柱状图等等。
另外一个APIjXLSjXLS是一个专门针对excelAPI,并不支持word或者是PPT。它是在POI的基础上进一步的包装,是一个更加优秀的开源项目。当前最新的版本是jXLS 1.0jXLS1.0新增的特性是对excel 2007的支持。jXLS最大的特点用一句话概况就是:jXLS is a small and easy-to-use Java library for writing Excel files using XLS templates and reading data from Excel into Java objects using XML configuration.
Excel generation is required in many Java applications that have some kind of reporting functionality. The most complete library to manipulate XLS files from Java is Apache POI library. The problems appear when it is required to create a lot of custom and complex Excel reports with rich formatting and enhanced functionality.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。