欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

如何用jsp生成excel文件

程序员文章站 2022-06-09 17:08:08
介绍:jakarta_poi 使用java读写excel(97-2002)文件,可以满足大部分的需要。因为刚好有一个项目使用到了这个工具,花了点时间顺便翻译了一下poi本身带的一个...
介绍:

jakarta_poi 使用java读写excel(97-2002)文件,可以满足大部分的需要。

因为刚好有一个项目使用到了这个工具,花了点时间顺便翻译了一下poi本身

带的一个guide.有一些节减和修改,希望给使用这个项目的人一些入门帮助。

poi 下面有几个自项目:hssf用来实现excel 的读写.以下是hssf的主页

https://jakarta.apache(unix平台最流行的web服务器平台).org/poi/hssf/index.html

下面的介绍是基于以下地址的翻译:

https://jakarta.apache(unix平台最流行的web服务器平台).org/poi/hssf/quick-guide.html

目前的版本为1.51应该是很长时间之内的一个稳定版,但hssf提供的sample不是基于

1.51所写,所以使用的时候需要适当的注意.

其实poi下面的几个子项目侧重不同读写 word 的hdf正在开发当中.

xml(标准化越来越近了)下的fop((标准化越来越近了).apache(unix平台最流行的web服务器平台).org/fop/index.html)

可以输出pdf文件,也是比较好的一个工具

目录:

创建一个workbook

创建一个sheet

创建cells

创建日期cells

设定单元格格式



说明:

以下可能需要使用到如下的类

import org.apache(unix平台最流行的web服务器平台).poi.hssf.usermodel.hssfcell;

import org.apache(unix平台最流行的web服务器平台).poi.hssf.usermodel.hssfcellstyle;

import org.apache(unix平台最流行的web服务器平台).poi.hssf.usermodel.hssfdataformat;

import org.apache(unix平台最流行的web服务器平台).poi.hssf.usermodel.hssffont;

import org.apache(unix平台最流行的web服务器平台).poi.hssf.usermodel.hssfrow;

import org.apache(unix平台最流行的web服务器平台).poi.hssf.usermodel.hssfsheet;

import org.apache(unix平台最流行的web服务器平台).poi.hssf.usermodel.hssfworkbook;

import org.apache(unix平台最流行的web服务器平台).poi.hssf.util.hssfcolor;



创建workbook



hssfworkbook wb = new hssfworkbook();

//使用默认的构造方法创建workbook

fileoutputstream fileout = new fileoutputstream("workbook.xls");

//指定文件名

wb.write(fileout);

//输出到文件

fileout.close();



创建一个sheet



hssfworkbook wb = new hssfworkbook();

hssfsheet sheet1 = wb.createsheet("new sheet");

//workbook创建sheet

hssfsheet sheet2 = wb.createsheet("second sheet");

//workbook创建另外的sheet

fileoutputstream fileout = new fileoutputstream("workbook.xls");

wb.write(fileout);

fileout.close();



创建cells

hssfworkbook wb = new hssfworkbook();

hssfsheet sheet = wb.createsheet("new sheet");

//注意以下的代码很多方法的参数是short 而不是int 所以需要做一次类型转换

hssfrow row = sheet.createrow((short)0);

//sheet 创建一行

hssfcell cell = row.createcell((short)0);

//行创建一个单元格

cell.setcellvalue(1);

//设定单元格的值

//值的类型参数有多中double ,string ,boolean,

row.createcell((short)1).setcellvalue(1.2);

row.createcell((short)2).setcellvalue("this is a string");

row.createcell((short)3).setcellvalue(true);



// write the output to a file

fileoutputstream fileout = new fileoutputstream("workbook.xls");

wb.write(fileout);

fileout.close();



创建日期cells

hssfworkbook wb = new hssfworkbook();

hssfsheet sheet = wb.createsheet("new sheet");



hssfrow row = sheet.createrow((short)0);



hssfcell cell = row.createcell((short)0);

//设定值为日期

cell.setcellvalue(new date());



hssfcellstyle cellstyle = wb.createcellstyle();

//指定日期显示格式

cellstyle.setdataformat(hssfdataformat.getformat("m/d/yy h:mm"));

cell = row.createcell((short)1);

cell.setcellvalue(new date());

//设定单元格日期显示格式

cell.setcellstyle(cellstyle);



fileoutputstream fileout = new fileoutputstream("workbook.xls");

wb.write(fileout);

fileout.close();





设定单元格格式

单元格格式的设定有很多形式包括单元格的对齐方式,内容的字体设置,

单元格的背景色等,因为形式比较多,只举一些例子.以下的例子在

poi1.5中可能会有所改变具体查看api.

..........

// aqua background