【IT168技术文档】
下载以后解压,解压目录为

在Eclipse中设置对poi-bin-2.5.1-final-20040804.jar的库引用.
在Eclipse中新建一个名字叫POIExcel的Java工程,右键POIExcel项目的项目名,选择Build Path,再选择Add External Archives,然后找到poi-bin-2.5.1-final-20040804.jar这个包将其引进到工程中来.
Excel 结构
HSSFWorkbook excell 文档对象介绍
HSSFSheet excell的表单
HSSFRow excell的行
HSSFCell excell的格子单元
HSSFFont excell字体
HSSFName 名称
HSSFDataFormat 日期格式
辅助操作包括
HSSFDateUtil 日期
HSSFPrintSetup 打印
HSSFErrorConstants 错误信息表
将数据导出到Excel中的实例
1. 创建一个空白的Excel文件
我们创建一个最普通的Java应用程序即可,程序代码如下:
FileOutputStream属于JDK的数据流对象,通过它来将一个名为test.xls文件创建在C盘根目录下,运行该程序后可以看到在C盘上的根目录上多了一个Excel文件.HSSFWorkbook wb=new HSSFWorkbook();
FileOutputStream fileout = new FileOutputStream("C:\\test.xls");
wb.write(fileout);
fileout.close();
如果将程序中的FileOutputStream("C:\\test.xls")的参数改为"test.xls",则文件就会创建在该项目的根目录下.
2. 往Excel的单元格中写入信息
POI把Excel分解成几个对象,自顶向下的关系是:工作薄(HSSFWorkbook)->表格(HSSFSheet)->表格行(HSSFRow)->单元格(HSSFCell).将数据库中表的数据导入到Excel中,首先我们要将数据库中的表的数据查询出来,这里我们通过Hibernate来将数据库中addressbook_table表的数据查询出来.然后通过循环将表中的数据导入到Excel中去.
HSSFWorkbook wb=new HSSFWorkbook();
HSSFSheet sheet=wb.createSheet("new sheet");
try ...{
//通过Hibernate来查询addressbook_table表中的数据,将其存储在List中
Transaction tx = session.beginTransaction();
org.hibernate.Query query= session.createQuery("from AddressbookTable");
List list = query.list();
tx.commit();
int k =0;
![]()
//创建表格,创建表格行和单元格,将数据库中表的字段存储在单元格中.
for(Iterator it=list.iterator();it.hasNext();)...{
AddressbookTable user =(AddressbookTable)it.next();
HSSFRow row=sheet.createRow((short)k);
row.createCell((short)0).setCellValue(user.getId());
row.createCell((short)1).setCellValue(user.getName());
row.createCell((short)2).setCellValue(user.getAddress());
row.createCell((short)3).setCellValue(user.getPhone());
k++;
}
![]()
FileOutputStream fileout = new FileOutputStream("C:\\test.xls");
wb.write(fileout);
fileout.close();
![]()
![]()
log.error("Successful!!");
} catch (HibernateException e) ...{
log.error("Insert Exception!");
e.printStackTrace();
}