- 浏览: 169413 次
- 性别:
文章分类
最新评论
-
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 738转载地址:http://blog.itpub.net/2913 ... -
将Oracle 11g改为密码大小写不敏感的方法
2014-03-10 15:41 884转载地址:http://blog.sina.com.cn/s/ ... -
鼠标移动显示层
2013-12-24 15:56 939转自csdn中一个朋友的回答答案http://bbs.csdn ... -
java解析xml字符串(用dom4j)
2013-12-10 12:12 27468转自:http://blog.chinaunix. ... -
StringUtils的isBlank与isEmply
2013-05-16 14:00 927转载地址:http://www.cnblogs.com/Xia ... -
java高并发解决方案
2013-03-20 17:06 888转载地址:http://www.juzik ... -
jrebel在Myeclipse中的使用
2013-03-05 18:23 4972JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在 ... -
Weblogic的那些端口
2013-02-22 09:31 2092转载地址:http://blog.sina.com.cn/s/ ... -
oracle wm_concat(column)函数的使用
2013-02-01 17:18 1025转载地址:http://database.51cto.com/ ... -
oracle根据分隔符将字符串分割成数组函数
2013-01-16 10:29 10673--创建表类型 create or replace type ... -
javascript:window.open 打开最大化窗口设置及详解
2013-01-15 16:22 1974转载地址:http://www.cnblogs.com/yun ... -
离开页面执行 onbeforeunload与onunload事件区别
2013-01-06 11:24 1349onunload,onbeforeunload都是在刷新或关闭 ... -
Oracle中NVARCHAR2与VARCHAR2的相互转换
2013-01-05 13:22 14652转载地址:http://adamxgl.blog.163.co ... -
jfreechart统计图
2012-12-03 17:39 1578网上找了很多拼成的,自己也添加了一些东西,所以此处就不将转载的 ... -
jfreechart属性设置
2012-12-03 16:51 1191转载地址:http://syc001.iteye.com/bl ... -
sun.misc.BASE64Encoder找不到jar包的解决方法 .
2012-10-26 18:04 1047地址:http://blog.csdn.net/jbxiaoz ... -
js添加、删除select
2012-10-26 14:29 945地址:http://www.xwqy.com/news_det ... -
java的HashCode方法 (转载)
2012-07-18 18:29 804文章出自http://www.cnblogs.com/baty ...
相关推荐
Apache POI HSSF和XSSF读写EXCEL总结
自己花了几天时间写的基于Apache POI的Java 读取excel文件,功能还是比较齐全
用POI的HSSF来控制EXCEL的研究
NULL 博文链接:https://xuwoool.iteye.com/blog/1131611
poi excel poi excel poi excel poi excel poi excel poi excel poi excel poi excel
HSSF提供给用户使用的对象在org.apache.poi.hssf.usermodel包中,主要部分包括Excell对象,样式和格式,还有辅助操作。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以...
想尽快的使用HSSF和XSSF对电子表格进行操作吗?这个指南正是您所需要的。现在稳定的POI的版本为3.6。但最近在查阅POI的资料时发现,虽然资料很多,但是大都局限于2.x的版本,3.x中文资料比较少,查阅apache网站的...
POI生成Excel POI读取Excel java操作Excel Servlet生成Excel web项目,包含含读取Excel与生成Excel方法
poi基于模板导出excel,poi基于模板导出excelpoi,基于模板导出excel
apache office 操作API POI HSSF 3.2说明
解决POI读取EXCEL时报org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException异常
Apache POI HSSF and XSSF 快速指南帮助文档 API poi-3.15
poi log4j excel poi log4j excel poi log4j excel poi log4j excel poi log4j excel poi log4j excel poi log4j excel
poi3.0.1操作excel,包括新增,修改excel的操作
应用POI组件操作Excel
利用POI进行多张Excel表的合并。附源代码。
JAVA操作EXCEL教程 POI JAVA操作EXCEL教程 POI
velocity开发插件org.apache.poi.hssf.usermodel.HSSFCellorg.apache.poi.hssf.usermodel.HSSFCell
springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式...
poi操作Excel 包含HSSF,XSSF两种方式的导入导出 支持97-2003版本的Excel与2007等高版本的Excel 下载之后eclipse导入替换jdk直接运行即可