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);
使用poi的hssf生成一个excel文件以后
有一个主类Workbook(相当于一个excel文件)的方法
Workbook.write(OutputStream)可以写到response.getOutputStream()里面
如果事先设置response的contentType为excel和下载的附件名称就可下载excel
HSSFWorkbook book = _proxy.expertExcel(_formBean,_login);
if(book!=null)
{
response.setContentType ( "application/ms-excel" ) ;
response.setHeader ( "Content-Disposition" ,
"attachment;filename="+new String("导出Excel.xls".getBytes(),"iso-8859-1")) ;
book.write(response.getOutputStream());
}
其中expertExcel无非是从数据库或者其他地方获取数据创建excel即可.
分享到:
相关推荐
poi教程poi教程poi教程poi教程poi教程poi教程poi教程poi教程poi教程poi教程poi教程poi教程poi教程poi教程
poi教程poi教程poi教程poi教程poi教程poi教程poi教程
POI教程v POI教程
POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI...
JAVA操作EXCEL教程 POI JAVA操作EXCEL教程 POI
Java操作Excel之Poi视频教程 java1234出品 Java操作Excel之Poi视频教程 java1234出品
java_POI教程
excel2007Poi处理教程
poi简明教程
POI简介 --Jakata Poi HSSF:纯java的Excel解决方案 在我们实际的开发中,表现层的解决方案虽然有多样,但是IE浏览器已成为最多人使用的浏览器,因为大家都用Windows。在企业办公系统中,常常有客户这样子要求:...
POI入门教程,POI入门教程,POI入门教程,POI入门教程
poi excel poi excel poi excel poi excel poi excel poi excel poi excel poi excel
POIJAVA教程.pdf
java开源项目,poi方面比较详细教程哦,各位多多支持哦
Apache提供的java接口,能够对MS Ofiice文件进行操作,文档为下载与使用教程
POI基础教程,该教程讲述了使用HSSF接口读写Excel的实例
关于poi ,Apache在今年,也就是在2017年9月15日 正式发布了POI 3.17版本, Apache POI团队对于3.17版本进行了一些功能的修复。主要是几个新的功能区域和许多错误修复。 POI 3.17是支持Java 6的最后一个版本。下一个...
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能,是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。
poi的所有jar包,poi, poi-ooxml,poi-ooxml-schemas的各个版本jar poi的所有jar包,poi, poi-ooxml,poi-ooxml-schemas的各个版本jar
apche POI 教程 offic apche POI 教程 offic