快捷搜索:

如何用jsp生成excel文件

先容:

Jakarta_POI 应用Java读写Excel(97-2002)文件,可以满意大年夜部分的必要。

由于刚好有一个项目应用到了这个对象,花了点光阴顺便翻译了一下POI本身

带的一个Guide.有一些简略节减和改动,盼望给应用这个项目的人一些入门赞助。

POI 下面有几个自项目:HSSF用来实现Excel 的读写.以下是HSSF的主页

http://jakarta.apache.org/poi/hssf/index.html

下面的先容是基于以下地址的翻译:

http://jakarta.apache.org/poi/hssf/quick-guide.html

今朝的版本为1.51应该是很长光阴之内的一个稳定版,但HSSF供给的Sample不是基于

1.51所写,以是应用的时刻必要适当的留意.

着实POI下面的几个子项目偏重不合读写 Word 的HDF正在开拓傍边.

XML下的FOP(http://xml.apache.org/fop/index.html)

可以输出pdf文件,也是对照好的一个对象

目录:

创建一个workbook

创建一个sheet

创建cells

创建日期cells

设定单元格款式

阐明:

以下可能必要应用到如下的类

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import org.apache.poi.hssf.usermodel.HSSFDataFormat;

import org.apache.poi.hssf.usermodel.HSSFFont;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.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

HSSFCellStyle style = wb.createCellStyle();

//创建一个样式

style.setFillBackgroundColor(HSSFCellStyle.AQUA);

//设定此样式的的背景颜色添补

style.setFillPattern(HSSFCellStyle.BIG_SPOTS);

//样式的添补类型。

//有多种样子容貌外形如:

//HSSFCellStyle.BIG_SPOTS

//HSSFCellStyle.FINE_DOTS

//HSSFCellStyle.SPARSE_DOTS等

style.setAlignment(HSSFCellStyle.ALIGN_CENTER );

//居中对齐

style.setFillBackgroundColor(HSSFColor.GREEN.index);

//设定单元个背景颜色

style.setFillForegroundColor(HSSFColor.RED.index);

//设置单元格显示颜色

HSSFCell cell = row.createCell((short) 1);

cell.setCellValue("X");

cell.setCellStyle(style);

您可能还会对下面的文章感兴趣: