当前位置: 代码迷 >> Web前端 >> poi导出excel(二转载)
  详细解决方案

poi导出excel(二转载)

热度:170   发布时间:2012-10-19 16:53:37.0
poi导出excel(2转载)
在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应用程序即可,程序代码如下:

HSSFWorkbook wb=new HSSFWorkbook(); FileOutputStream fileout = new FileOutputStream("C:\\test.xls"); wb.write(fileout); fileout.close();

    FileOutputStream属于JDK的数据流对象,通过它来将一个名为test.xls文件创建在C盘根目录下,运行该程序后可以看到在C盘上的根目录上多了一个Excel文件.
    如果将程序中的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(); }

  相关解决方案