- 浏览: 171743 次
- 性别:
-
文章分类
最新评论
-
18335864773:
推荐用 pageoffice 导出 word ,不需要另存 x ...
java导出含图片的word -
lfyssm:
GOOD
JAVA 调用SAP端接口 -
yixi2166:
写的真好 有帮助
JAVA 调用SAP端接口 -
QQ1145306946:
能不能加你的QQ呢?有几个问题想问你的,呵呵
回答“QQ1145306946”提的问题“jsp 勾选数据添加到另一个页面” -
康敏栋:
QQ1145306946 写道请问最后的代码function ...
回答“QQ1145306946”提的问题“jsp 勾选数据添加到另一个页面”
文章转自http://java.mblogger.cn/elune/posts/15242.aspx
POI HSSF是一个专门操作EXCEL的java包,可通过纯java操作xls文件。
POI HSSF的类文件都放在在org.apache.poi.hssf包下,通过此包中的类就可实现用java操作Excel文件了。
下面是用POI HSSF操作Excel文件的方法简述:
一, 建立Excel工作薄
二, 建立Excel工作表,每个工作表对应的是Excel界面左下角的一个标签sheet1,sheet2 …
三, 在工作表中建立单元格
四, 向单元格插入日期值
五, 各种单元格样式
六, 行高,列宽。
七,例程
首先调用一个方法将Oracle数据库中的数据取出,放到List实例中,这里我调用了srrd项目中ProductData类的listProductQuery()取得一个List实例。List中的对象是一系列名为ProductQuery实体类的实例。然后读List,将ProductQuery实例中的数据取出放到HSSFCell单元格中。最后将HSSFWorkbook中的数据输出到输出流,完成数据导出。
POI HSSF是一个专门操作EXCEL的java包,可通过纯java操作xls文件。
POI HSSF的类文件都放在在org.apache.poi.hssf包下,通过此包中的类就可实现用java操作Excel文件了。
下面是用POI HSSF操作Excel文件的方法简述:
一, 建立Excel工作薄
HSSFWorkbook wb = new HSSFWorkbook();
二, 建立Excel工作表,每个工作表对应的是Excel界面左下角的一个标签sheet1,sheet2 …
HSSFSheet sheet1 = wb.createSheet("new sheet");
三, 在工作表中建立单元格
//首先,建立行对像,行号作为参数传给createRow方法,第一行由0开始计算。 HSSFRow row = sheet.createRow((short)0); //建单元格 HSSFCell cell = row.createCell((short)0); //给单元格赋值 cell.setCellValue(1); //也可同一行内完成建立单元格和赋值 row.createCell((short)1).setCellValue(1.2); row.createCell((short)2).setCellValue("This is a string"); row.createCell((short)3).setCellValue(true); //数据格式可通过创建单元格值时默认如上面所视 //也可以创建单元格后调用setCellType指定 cell.setCellType(CELL_TYPE_NUMERIC);
四, 向单元格插入日期值
HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("new sheet"); // 可通过Sheet.setSheetName(sheetindex,"SheetName",encoding)设定工作表名 // 创建新行并向其加入单元格,行号由0开始。 HSSFRow row = sheet.createRow((short)0); // 创建一个单元格并向其输入一日期值,但这第一个单元格并非是日期格式。 HSSFCell cell = row.createCell((short)0); cell.setCellValue(new Date()); // 我们将这第二个单元格改成日期格式,这需要从工作薄创建一个新的单元格格式,这可// 以只影响当前建立的一个单元格。 HSSFCellStyle cellStyle = wb.createCellStyle(); cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm")); cell = row.createCell((short)1); cell.setCellValue(new Date()); cell.setCellStyle(cellStyle);
五, 各种单元格样式
HSSFCellStyle cellStyle = wb.createCellStyle(); //对齐 cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //带边框 cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //颜色与填充样式 cellStyle.setFillBackgroundColor(HSSFColor.AQUA.index); cellStyle.setFillPattern(HSSFCellStyle.BIG_SPOTS); cellStyle.setFillForegroundColor(HSSFColor.ORANGE.index); cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
六, 行高,列宽。
HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("new sheet"); HSSFRow row = sheet.createRow((short)0); //2是行高值 row.setRowHeight(2); //3是列号,4是列宽值 sheet.setColumnWidth(3, 4);
七,例程
首先调用一个方法将Oracle数据库中的数据取出,放到List实例中,这里我调用了srrd项目中ProductData类的listProductQuery()取得一个List实例。List中的对象是一系列名为ProductQuery实体类的实例。然后读List,将ProductQuery实例中的数据取出放到HSSFCell单元格中。最后将HSSFWorkbook中的数据输出到输出流,完成数据导出。
//建工作薄 HSSFWorkbook wb = new HSSFWorkbook(); //建名为example的工作表 HSSFSheet sheet = wb.createSheet("example"); //给工作表前8列定义列宽 sheet.setColumnWidth((short)0,(short)2500); sheet.setColumnWidth((short)1,(short)6000); sheet.setColumnWidth((short)2,(short)3500); sheet.setColumnWidth((short)3,(short)9000); sheet.setColumnWidth((short)4,(short)8000); sheet.setColumnWidth((short)5,(short)8000); sheet.setColumnWidth((short)6,(short)20000); sheet.setColumnWidth((short)7,(short)8000); //在表中建行 HSSFRow row = sheet.createRow(0); //建立单元格 HSSFCell cell[] = new HSSFCell[8]; for (short i = 0; i < 8; i++) { cell[i] = row.createCell(i); //将单元格定义成UTF_16编码,这样才能使输出数据不会乱码 cell[i].setEncoding(HSSFCell.ENCODING_UTF_16); } //写单元格标题 cell[0].setCellValue("登记ID"); cell[1].setCellValue("登记号"); cell[2].setCellValue("所在地市ID"); cell[3].setCellValue("产品中文名"); cell[4].setCellValue("产品英文名"); cell[5].setCellValue("产品服务对象"); cell[6].setCellValue("产品功能描述"); cell[7].setCellValue("产品类别"); //查询数据库,取得数据列表的List实例 List list = new ArrayList(); ProductDataManager mgr = new ProductDataManager(); try { list = mgr.listProductQuery("","", "", "", "", "1999-2-1", "2004-2-1"); } catch (SrrdException e) { e.printStackTrace(); } //从List中取出数据放入工作表中 if (list != null && list.size() > 0) { for (int i = 0; i < list.size() - 1; i++) { ProductQuery query = (ProductQuery) list.get(i); HSSFRow datarow = sheet.createRow(i + 1); HSSFCell data[] = new HSSFCell[8]; for (short j = 0; j < 8; j++) { data[j] = datarow.createCell(j); //将单元格定义成UTF_16编码,这样才能使输出数据不会乱码 data[j].setEncoding(HSSFCell.ENCODING_UTF_16); } data[0].setCellValue(query.getCertId()); data[1].setCellValue(query.getCertNum()); data[2].setCellValue(query.getCityCode()); data[3].setCellValue(query.getSoftWareCname()); data[4].setCellValue(query.getSoftWareEname()); data[5].setCellValue(query.getSoftwareFor()); data[6].setCellValue(query.getSoftwareFuncDesc()); data[7].setCellValue(query.getSoftwareType()); } } //将工作薄输出到输出流 ServletOutputStream sos=response.getOutputStream(); wb.write(sos); sos.close(); //也可输出成xls文件 File file = new File("workbook.xls"); try { FileOutputStream fileOut = new FileOutputStream(file); wb.write(fileOut); fileOut.close(); } catch (IOException e) { e.printStackTrace(); }
发表评论
-
Oracle手工修改JOB属性(转载mark)
2017-05-18 16:01 781转载地址:http://blog.itpub.net/2913 ... -
将Oracle 11g改为密码大小写不敏感的方法
2014-03-10 15:41 922转载地址:http://blog.sina.com.cn/s/ ... -
鼠标移动显示层
2013-12-24 15:56 995转自csdn中一个朋友的回答答案http://bbs.csdn ... -
java解析xml字符串(用dom4j)
2013-12-10 12:12 27579转自:http://blog.chinaunix. ... -
StringUtils的isBlank与isEmply
2013-05-16 14:00 967转载地址:http://www.cnblogs.com/Xia ... -
java高并发解决方案
2013-03-20 17:06 932转载地址:http://www.juzik ... -
jrebel在Myeclipse中的使用
2013-03-05 18:23 5011JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在 ... -
Weblogic的那些端口
2013-02-22 09:31 2137转载地址:http://blog.sina.com.cn/s/ ... -
oracle wm_concat(column)函数的使用
2013-02-01 17:18 1097转载地址:http://database.51cto.com/ ... -
oracle根据分隔符将字符串分割成数组函数
2013-01-16 10:29 10770--创建表类型 create or replace type ... -
javascript:window.open 打开最大化窗口设置及详解
2013-01-15 16:22 2075转载地址:http://www.cnblogs.com/yun ... -
离开页面执行 onbeforeunload与onunload事件区别
2013-01-06 11:24 1410onunload,onbeforeunload都是在刷新或关闭 ... -
Oracle中NVARCHAR2与VARCHAR2的相互转换
2013-01-05 13:22 14748转载地址:http://adamxgl.blog.163.co ... -
jfreechart统计图
2012-12-03 17:39 1652网上找了很多拼成的,自己也添加了一些东西,所以此处就不将转载的 ... -
jfreechart属性设置
2012-12-03 16:51 1238转载地址:http://syc001.iteye.com/bl ... -
sun.misc.BASE64Encoder找不到jar包的解决方法 .
2012-10-26 18:04 1077地址:http://blog.csdn.net/jbxiaoz ... -
js添加、删除select
2012-10-26 14:29 986地址:http://www.xwqy.com/news_det ... -
java的HashCode方法 (转载)
2012-07-18 18:29 844文章出自http://www.cnblogs.com/baty ...
相关推荐
从标签"源码"来看,这个压缩包可能包含了示例代码,帮助开发者理解如何使用POI HSSF来操作Excel文件。"工具"标签可能意味着这些代码片段或类是实用的,可以作为开发过程中的辅助工具。 在给定的文件名称列表中: 1....
Apache POI HSSF和XSSF读写EXCEL总结
以下是对使用Apache POI HSSF进行Excel读写操作的详细知识点: 1. **HSSF模型**:Apache POI使用了一种类似于Excel内部结构的模型来表示工作簿、工作表、行、单元格等元素。HSSFWorkbook代表一个工作簿,HSSFSheet...
。Apache 1.。POI HSSF和XSSF读写EXCEL总结.pdf
。Apache 1.。POI HSSF和XSSF读写EXCEL总结.docx
### POI3.5 HSSF 和XSSF Excel操作快速入门手册 #### 一、简介 Apache POI 是一个用于读写Microsoft Office格式文件的Java API,包括但不限于Excel、Word等。其中,HSSF用于处理Excel 97-2003格式(.xls),而XSSF则...
HSSF 提供了一系列的类来操作 Excel 文件: - **HSSFWorkbook**:表示整个工作簿,即一个 Excel 文件。 - **HSSFSheet**:表示工作簿中的一个工作表。 - **HSSFRow**:表示工作表中的一行。 - **HSSFCell**:表示...
本文将详细介绍如何使用Apache POI的HSSF API来控制Excel文件的各种操作,包括创建工作簿、创建和管理表格、设置单元格数据和样式等。 #### 二、创建工作簿(Workbook) 在使用Apache POI创建Excel文件之前,首先...
解决POI读取EXCEL时报org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException异常
`org.apache.poi.hssf.converter` 是Apache POI的一个子模块,它专注于处理老版本的Excel文件(.xls),也就是基于HSSF(Horizontally Stored Spreadsheet Format)的文件。 在这个标题为“org.apache.poi.hssf....
在这个场景中,我们关注的是如何使用POI来创建、读取和操作Excel文档。在Web项目中,这种功能通常用于数据导入导出,报表生成,或者任何需要与用户交换表格数据的场景。 **POI生成Excel** 生成Excel文件主要涉及...
Apache POI提供了HSSF接口,用于处理MS Excel的对象。HSSF代表Horrible Spreadsheet Format,是一个纯Java实现的Excel解决方案。它可以创建、修改、读取Excel文件,并允许对工作簿(Workbook)、工作表(Sheet)、行...
### 应用POI组件操作Excel #### 一、POI组件简介 POI组件作为Apache项目的开源子项目之一,其主要目标在于提供一套API,使得开发者能够利用Java语言来读取与写入Microsoft Office文件格式的数据。尤其针对Excel...
poi log4j excel poi log4j excel poi log4j excel poi log4j excel poi log4j excel poi log4j excel poi log4j excel
Apache POI项目提供了HSSF和XSSF两个模块,分别用于操作旧版的Excel文件(.xls)和新版的Excel文件(.xlsx)。HSSF代表Horrible Spreadsheet Format,是针对Excel 97-2003文件格式的实现;而XSSF代表XML Spreadsheet...
在本案例中,我们将重点关注"poi3.0.1"版本如何操作Excel文件。这个版本的POI库提供了Java程序员处理Excel文档的强大功能,可以进行创建、读取、更新和删除等操作。 首先,我们需要理解Apache POI的工作原理。它...
其中,HSSF(Horizontally Split Formatted)是POI库的一个子项目,主要负责处理老版本的Excel文件,即.BIFF8格式的Excel 97-2007文件。在本文中,我们将深入探讨POI HSSF 3.2版本中的核心概念和操作API。 首先,`...
使用HSSF,你可以创建新的工作簿,添加工作表,插入数据,设置单元格样式,以及执行其他与Excel相关的操作。以下是一个简单的HSSF示例: ```java import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org....
POI提供了HSSF(Horrible Spreadsheet Format)用于处理.xls文件(Excel 97-2003格式),而XSSF用于处理.xlsx文件(Excel 2007及以上版本)。在这个场景下,我们可能需要用到XSSFWorkbook类来处理.xlsx格式的Excel...