Apache的Jakata项目的POI子项目,目标是处理ole2对象。 POI可以到 http://www.apache.org/dyn/closer.cgi/jakarta/poi/ 下载。 编译好的jar主要有这样4个:poi包,poi Browser包,poi hdf包,poi hssf例程包。实际运行时,需要有poi包就可以了。
HSSF提供给用户使用的对象在org.apache.poi.hssf.usermodel包中,主要部分包括Excell对象,样式和格式,还有辅助操作。有以下几种对象:
HSSFWorkbook excell的文档对象
HSSFSheet excell的表单
HSSFRow excell的行
HSSFCell excell的格子单元
HSSFFont excell字体
HSSFName 名称
HSSFDataFormat 日期格式
在poi1.7中才有以下2项:
HSSFHeader sheet头
HSSFFooter sheet尾
和这个样式
HSSFCellStyle cell样式
辅助操作包括
HSSFDateUtil 日期
HSSFPrintSetup 打印
HSSFErrorConstants 错误信息表
下面是一个简单的例子:
/** */ /**
*
*/
package com.justinmobile.payease.admin.commons.excel;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
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.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/** */ /**
* 生成导出Excel文件对象
*
* @author John.Zhu
*
*/
public class XLSExport {
// 设置cell编码解决中文高位字节截断
private static short XLS_ENCODING = HSSFWorkbook.ENCODING_UTF_16;
// 定制日期格式
private static String DATE_FORMAT = " m/d/yy " ; // "m/d/yy h:mm"
// 定制浮点数格式
private static String NUMBER_FORMAT = " #,##0.00 " ;
private String xlsFileName;
private HSSFWorkbook workbook;
private HSSFSheet sheet;
private HSSFRow row;
/** */ /**
* 初始化Excel
*
* @param fileName
* 导出文件名
*/
public XLSExport(String fileName) {
this .xlsFileName = fileName;
this .workbook = new HSSFWorkbook();
this .sheet = workbook.createSheet();
}
/** */ /**
* 导出Excel文件
*
* @throws XLSException
*/
public void exportXLS() throws XLSException {
try {
FileOutputStream fOut = new FileOutputStream(xlsFileName);
workbook.write(fOut);
fOut.flush();
fOut.close();
} catch (FileNotFoundException e) {
throw new XLSException( " 生成导出Excel文件出错! " , e);
} catch (IOException e) {
throw new XLSException( " 写入Excel文件出错! " , e);
}
}
/** */ /**
* 增加一行
*
* @param index
* 行号
*/
public void createRow( int index) {
this .row = this .sheet.createRow(index);
}
/** */ /**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell( int index, String value) {
HSSFCell cell = this .row.createCell(( short ) index);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(XLS_ENCODING);
cell.setCellValue(value);
}
/** */ /**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell( int index, Calendar value) {
HSSFCell cell = this .row.createCell(( short ) index);
cell.setEncoding(XLS_ENCODING);
cell.setCellValue(value.getTime());
HSSFCellStyle cellStyle = workbook.createCellStyle(); // 建立新的cell样式
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat(DATE_FORMAT)); // 设置cell样式为定制的日期格式
cell.setCellStyle(cellStyle); // 设置该cell日期的显示格式
}
/** */ /**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell( int index, int value) {
HSSFCell cell = this .row.createCell(( short ) index);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellValue(value);
}
/** */ /**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell( int index, double value) {
HSSFCell cell = this .row.createCell(( short ) index);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellValue(value);
HSSFCellStyle cellStyle = workbook.createCellStyle(); // 建立新的cell样式
HSSFDataFormat format = workbook.createDataFormat();
cellStyle.setDataFormat(format.getFormat(NUMBER_FORMAT)); // 设置cell样式为定制的浮点数格式
cell.setCellStyle(cellStyle); // 设置该cell浮点数的显示格式
}
}
调用的过程:
/** */ /**
*
*/
package com.justinmobile.payease.admin.commons.excel;
import java.util.Calendar;
/** */ /**
* 导出Excel示例
*
* @author John.Zhu
*
*/
public class XLSDemo {
public static void main(String[] args) {
System.out.println( " 开始导出Excel文件 " );
XLSExport e = new XLSExport( " d:/test.xls " );
e.createRow( 0 );
e.setCell( 0 , " 编号 " );
e.setCell( 1 , " 名称 " );
e.setCell( 2 , " 日期 " );
e.setCell( 3 , " 金额 " );
e.createRow( 1 );
e.setCell( 0 , 1 );
e.setCell( 1 , " 工商银行 " );
e.setCell( 2 , Calendar.getInstance());
e.setCell( 3 , 111123.99 );
e.createRow( 2 );
e.setCell( 0 , 2 );
e.setCell( 1 , " 招商银行 " );
e.setCell( 2 , Calendar.getInstance());
e.setCell( 3 , 222456.88 );
try {
e.exportXLS();
System.out.println( " 导出Excel文件[成功] " );
} catch (XLSException e1) {
System.out.println( " 导出Excel文件[失败] " );
e1.printStackTrace();
}
}
}
分享到:
相关推荐
### POI Excel知识点详解 #### 一、Jakarta POI简介与Apache POI的作用 Jakarta POI 是 Apache POI 的早期项目名称,它提供了一组 API 来处理 Microsoft Office 文件格式,特别是针对 Excel(`.xls` 和 `.xlsx`)...
在Java开发中,Apache POI 是一个非常流行的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Excel工作簿。标题“poi excel转换成bean”涉及到的关键技术是使用Apache POI从Excel文件中读取数据并...
JAVA POI Excel转Html,代码和所需的jar都在压缩包,项目在线预览需求,实现后分享下
在Java编程中,Apache POI库是一个非常流行的工具,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Excel。这篇博客"java使用POI Excel模板导出数据"探讨了如何利用POI库在Java中创建Excel模板并填充...
poi提供了excel转html的代码,但是吧,有好多问题。当有合并单元格时边框获取不到,单元格内的字体样式也转换不了,现在对poi提供的Tohtml.java做了一些修改,修复了这些问题,记录下,以备之后用到
标题中的“poi excel example,分页,行高,列宽”指的是使用Apache POI库来操作Excel文件的一些关键功能,包括设置分页、调整行高和列宽。Apache POI是一个流行的Java API,用于读取和写入Microsoft Office格式的...
在Java开发中,Apache POI库是一个非常实用的工具,用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。当我们谈论“poi excel加密”时,这通常是指使用Apache POI来处理加密的Excel文件。Excel文件...
"SpringMVC POI Excel 生成导出" SpringMVC 是一个基于 Java 的 Web 框架,POI 是一个 Java 库,用于操作 Microsoft Office 文件格式,Excel 是一个电子表格软件。今天,我们将在 SpringMVC 中使用 POI 生成 Excel ...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。在Java开发中,POI库被广泛用于读取、写入和修改Excel文档。本篇将详细介绍如何使用Apache POI来读取Excel模板,复制工作表(Sheet...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。这个资源包包含了POI项目的源代码、相关文档以及示例,可以帮助开发者深入理解如何使用POI来操作Excel文件。 一...
### POI Excel 模板读取并导出带公式的Excel文档 #### 一、概述 在实际工作中,经常需要批量处理数据,并将其导出到Excel文件中,特别是在需要复杂计算的情况下,例如工资单、统计数据汇总等场景。利用Apache POI...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,尤其是Excel(.xls和.xlsx)文件。这个“POI Excel最新官方开发包及文档”包含的是Apache POI库的最新版本及其相关的用户手册和API文档,为...
Apache POI 是一个开源项目,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在 POI 3.10 及以后的版本中,引入了对将 Excel 工作簿转换为 HTML 格式的支持,这极大地扩展了其在数据导出和网页展示中的应用...
为更方便的使用POI的API来操作Excel(2003)文件,对POI中针对Excel文件的读写进行了简单封装。此类中包含以下功能: 1.根据模板创建Excel文件 ...压缩包中包含POI的jar文件、POIExcel的jar文件及POIExcel的源码
标题“poi excel导入”指的是使用Apache POI库来读取Excel文件并将其数据导入到数据库中。Apache POI是Java编程语言中一个流行的库,它允许开发者创建、修改和显示Microsoft Office格式的文件,其中包括Excel(.xlsx...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,尤其是Excel文档。这个工具类库使得Java开发者能够方便地读取、写入和操作Excel文件,而无需依赖Microsoft Office套件。以下是对POI Excel工具...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。在Java开发中,Apache POI 提供了一种高效且灵活的方式来创建、修改和读取Excel工作簿。这篇博客“Apache Poi Excel导出”可能详细...
Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出...
本项目"**PoiExcel_single_save.rar**"显然是利用Apache POI进行Excel文件的读写操作,并结合了ZBar二维码扫描技术,将扫描数据回填到Excel文件中。下面将详细解释这些技术及其应用。 **Apache POI** Apache POI ...
本文将深入探讨"poi excel JAR包"的相关知识点,帮助开发者理解如何利用Apache POI库来解析和操作Excel文件。 Apache POI 是一个Java API,它允许程序员创建、修改和显示MS Office格式的文件。它的名字来源于...