- 浏览: 87033 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
z694571598:
set 在哪?
js实现Set,Map,List,Queue -
coolboy09:
java并发编程实战上有类似的例子。我有一个疑惑,现在提出来和 ...
高速缓存实现 -
znlyj:
我同样关注,怎么更新缓存?另外,如果我不想将计算结果放到进程内 ...
高速缓存实现 -
Terry_zzz:
很好, 总结的很全面 谢谢!
深入浅出设计模式之单态模式(singleton) -
supertianyi:
好文,学习了
精通js中的Array
在企业级开发中,经常遇到读写excel的操作,在此将一些简单的excel操作做了一个实例:
只要继承上变的抽象类,实现对应的方法,然后声明该处理bean到Spring中,就可以运用该组件了。
package com.test.core.utils; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.util.Date; import java.util.List; import java.util.Vector; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.struts2.ServletActionContext; public abstract class ExportExcel<T> { /** * export Excel for Data * @param list */ public void exportExcel(List<T> entities, String fileName) { try { HSSFWorkbook workBoook = exportDeleteExcel(createExportData(entities, fileName)); OutputStream outStream = getOutputStream(ServletActionContext.getRequest(), ServletActionContext.getResponse(), fileName); workBoook.write(outStream); outStream.close(); } catch (Exception e) { e.printStackTrace(); } } /** * abstract method for create excel info * @param entities, operator * @return */ public abstract BaseDataExportInfo createExportData(List<T> entities, String fileName); /** * set information for Head * @param baseData * @return * @throws Exception */ @SuppressWarnings("deprecation") protected HSSFWorkbook exportDeleteExcel(BaseDataExportInfo baseData) throws Exception { HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet(); workbook .setSheetName(baseData.getSheetIndex(), baseData.getSheetName()); HSSFRow contentsRow = sheet.createRow(0); contentsRow.setHeight((short) 500); // 设置行高s /* 设置表头信息 */ HSSFFont titleFont = workbook.createFont(); titleFont.setFontName("宋体"); titleFont.setFontHeightInPoints((short) 16); titleFont.setBoldweight((short) 20); HSSFCellStyle titleStyle = workbook.createCellStyle(); titleStyle.setFont(titleFont); titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION); // 居中 List<String> head = baseData.getTableHead(); for (short j = 0; j < head.size(); j++) { // 设置列宽 if (j == 1) { sheet.setColumnWidth(j, (short) 14000); } else { sheet.setColumnWidth(j, (short) 8000); } HSSFCell contentsCell = contentsRow.createCell(j); contentsCell.setCellType(HSSFCell.CELL_TYPE_STRING); contentsCell.setCellStyle(titleStyle); contentsCell.setCellValue(head.get(j)); } /* 设置表体信息 */ if (null != baseData.getRowList()) { List<Vector<String>> rowList = baseData.getRowList(); for (short i = 0; i < rowList.size(); i++) { Vector<String> rowInfo = rowList.get(i); HSSFRow row = sheet.createRow(i + 1); /** 表体 */ HSSFFont font = workbook.createFont(); /** 设置字体样式 */ font.setFontName("宋体"); HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setFont(font); cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边 cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); // 左边 cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); // 右边 cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); // 上边 cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION); // 居左 for (short k = 0; k < rowInfo.size(); k++) { HSSFCell cell = row.createCell(k); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellStyle(cellStyle); cell.setCellValue(rowInfo.get(k)); } } } return workbook; } /** * OutPutStream for Excel * @param request * @param response * @return */ protected OutputStream getOutputStream(HttpServletRequest request,HttpServletResponse response, String name) { OutputStream outputStream = null; try { outputStream = new BufferedOutputStream(response.getOutputStream()); } catch (IOException e) { e.printStackTrace(); } String fileName = "Excel_" + name + "_" + DateUtils.format(new Date()) + ".xls"; response.setContentType("application/vnd.ms-excel"); try { response.setHeader("content-disposition", "attachment;filename=\"" + new String(fileName.getBytes(), response.getCharacterEncoding()) + "\""); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return outputStream; } }
只要继承上变的抽象类,实现对应的方法,然后声明该处理bean到Spring中,就可以运用该组件了。
- poi-3.0.1-FINAL-20070705.jar (888 KB)
- 下载次数: 12
发表评论
-
Maven2 POM.xml 配置元素详解
2011-06-16 08:56 1397<!--可以免费转载,转载时请注明出处 http:// ... -
深入浅出URL编码
2010-12-24 09:35 913一、问题: 编码问题是JAVA初学者在web开 ... -
mysql自动关闭服务、连接限制等问题的解决方法
2010-11-22 09:36 3012通过mysql服务器端程序mysql Administrato ... -
高速缓存实现
2010-06-08 10:39 3943各位大虾,本人实现 ... -
Java开发中文件上传应用
2010-05-15 23:54 1134今天闲暇无所事事,很长时间没有写博客了,突然想起很多开发 ... -
Java ClassLoader 详解
2010-03-23 12:33 1070类加载器是 Java 语言的一个创新,也是 Java 语言流行 ... -
Java垃圾回收机制和性能调优
2010-01-29 12:40 8561.JVM的gc概述 g ... -
Java编码问题
2009-11-25 16:36 714乱码对于使用非英语文 ... -
JDK+Tomcat +eclipse+MyEclipse的配置
2009-11-16 14:48 1150说一下关于JDK+Tomcat +ecli ... -
Java图片水印处理
2009-10-30 13:28 1533import java.awt.AlphaComposite; ... -
Java正则表达式的解释说明
2009-10-28 18:18 684表达式意义: 1.字符 x ... -
Freemarker语法
2009-10-21 15:29 771常用语法 EG.一个对象BOOK 1.输出 $…{book.n ... -
Servlet的两种跳转区别
2009-10-19 13:46 1250在servlet中,一般跳转都 ... -
Berkeley DB实例
2009-10-15 09:49 1301package test; import com.sleep ... -
Berkeley DB使用说明
2009-10-14 18:32 1746关键字: berkeley db java edi ... -
Tomcat配置详解
2009-09-29 11:44 944第一步:下载j2sdk和tomcat 到sun官方站(htt ... -
URLConnection的连接、超时、关闭用法总结
2009-09-10 12:57 1768ava中可以使用HttpURLConnection来请求WEB ... -
时间操作工具类
2009-09-09 14:27 3186在项目开发工程中,使用了很多时间的操作,改工具类提供了很 ... -
Java操作图片改变大小加水印
2009-09-09 11:21 2008在实际的项目开发中,有可能遇到对图片的操作,比如加水印, ... -
操作抓取网络资源
2009-09-08 12:57 842在实际开发过程中,大家难免遇到抓取网络资源的操作,列如:抓 ...
相关推荐
很完整的实例,用eclipse导入工程即可,里面需要的jar包(jxl.jar)都有,简单的操作了excel,数据库,实现了导入导出等功能,可以自己建立数据库,本软件中使用的是oracle数据库的连接和驱动。
jxl.jar用于在Java中操作Excel . 其他的价高,还不知能不能用,低分放出经过测试的
java操作excel(包括读取数据和写入数据)亲自测试成功 可以直接使用 控制台输出如下: 工作表名称:Sheet1 姓名 年龄 张三 18 李四 19 王五 20 工作表名称:Sheet2 工作表名称:Sheet3
基于Java的对Excel(2003)格式进行操作的开源扩展类库.包含源代码和HTML文档.
可以方便的读取Excel表格中的数据!同时也可以将数据导出到Excel中!
java操作Excel java操作Excel java操作Excel
Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word...
java操作Excel文件java操作Excel文件java操作Excel文件java操作Excel文件java操作Excel文件java操作Excel文件java操作Excel文件
。。。
java操作excel的实例java操作excel的实例java操作excel的实例java操作excel的实例
通过Java操作Excel表格,包括上传Excel文件、Action类解析Excel、以及导出数据到Excel表格。
java操作excel(支持excel2007), java操作excel(支持excel2007)
Java操作excel工具
Java Poi 操作excel的API 好用
非常完善的Jxcell开发文档,有很多demo
java是不能提供java调用excel里的函数的,所以我提供这个例子,让大家参考,必须导入jxl.jar包哦!
通过java操作excel表格的工具类库 用法简介 ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说以上功能已经能够大致满足我们...
详细介绍Java操作Excel,包括对Excel的读、写、更新等操作,并附加例子.
java 开发中Poi操作excel批量导入导出项目需要的jar包