- 浏览: 88574 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
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 1421<!--可以免费转载,转载时请注明出处 http:// ... -
深入浅出URL编码
2010-12-24 09:35 948一、问题: 编码问题是JAVA初学者在web开 ... -
mysql自动关闭服务、连接限制等问题的解决方法
2010-11-22 09:36 3036通过mysql服务器端程序mysql Administrato ... -
高速缓存实现
2010-06-08 10:39 3995各位大虾,本人实现 ... -
Java开发中文件上传应用
2010-05-15 23:54 1163今天闲暇无所事事,很长时间没有写博客了,突然想起很多开发 ... -
Java ClassLoader 详解
2010-03-23 12:33 1102类加载器是 Java 语言的一个创新,也是 Java 语言流行 ... -
Java垃圾回收机制和性能调优
2010-01-29 12:40 8781.JVM的gc概述 g ... -
Java编码问题
2009-11-25 16:36 740乱码对于使用非英语文 ... -
JDK+Tomcat +eclipse+MyEclipse的配置
2009-11-16 14:48 1187说一下关于JDK+Tomcat +ecli ... -
Java图片水印处理
2009-10-30 13:28 1553import java.awt.AlphaComposite; ... -
Java正则表达式的解释说明
2009-10-28 18:18 713表达式意义: 1.字符 x ... -
Freemarker语法
2009-10-21 15:29 791常用语法 EG.一个对象BOOK 1.输出 $…{book.n ... -
Servlet的两种跳转区别
2009-10-19 13:46 1287在servlet中,一般跳转都 ... -
Berkeley DB实例
2009-10-15 09:49 1333package test; import com.sleep ... -
Berkeley DB使用说明
2009-10-14 18:32 1775关键字: berkeley db java edi ... -
Tomcat配置详解
2009-09-29 11:44 968第一步:下载j2sdk和tomcat 到sun官方站(htt ... -
URLConnection的连接、超时、关闭用法总结
2009-09-10 12:57 1797ava中可以使用HttpURLConnection来请求WEB ... -
时间操作工具类
2009-09-09 14:27 3212在项目开发工程中,使用了很多时间的操作,改工具类提供了很 ... -
Java操作图片改变大小加水印
2009-09-09 11:21 2070在实际的项目开发中,有可能遇到对图片的操作,比如加水印, ... -
操作抓取网络资源
2009-09-08 12:57 861在实际开发过程中,大家难免遇到抓取网络资源的操作,列如:抓 ...
相关推荐
很完整的实例,用eclipse导入工程即可,里面需要的jar包(jxl.jar)都有,简单的操作了excel,数据库,实现了导入导出等功能,可以自己建立数据库,本软件中使用的是oracle数据库的连接和驱动。
总之,Java中操作Excel文件是通过Apache POI库实现的,该库提供了丰富的API来读取、写入以及修改Excel文件。在"ExcellWriter.java"这个例子中,我们可以学习到如何使用这些API进行实际的文件操作。理解并掌握这些...
"Java中用于操作Excel格式文件的类库"指的是利用特定的Java库来读取、写入或者修改Excel文件。在这个描述中,提到了一个名为"jexcelapi"的开源扩展类库,它允许开发者在Java应用中便捷地处理Excel 2003格式的数据。 ...
在IT行业中,Java是一种广泛应用的编程语言...总的来说,Java操作Excel是一项实用的技能,通过利用Apache POI和JExcelAPI等库,我们可以方便地在Java程序中处理Excel文件,实现数据的导入导出、分析和报表生成等功能。
Java 操作 Excel 表格是常见的数据处理需求,特别是在企业级应用中,例如数据分析、报表生成等场景。本文将详细介绍如何使用 Java Excel API(jxl)库来读取和创建 Excel 文件。 首先,jxl 是一个广泛使用的开源库...
在IT行业中,与Java编程相关的任务常常涉及到数据处理,而Excel作为常见的数据管理工具,其与Java的交互显得尤为重要。...结合压缩包中的资源,学习者将能够深入理解并应用Java操作Excel的各种技巧。
《在Java中使用jxl.jar库操作Excel》 在Java编程环境中,处理Excel文件是一项常见的需求,例如数据导入导出、报表生成等。在这种场景下,jxl.jar库扮演了重要的角色。它是一个轻量级的Java库,专门用于读取和写入...
"Java中操作Excel表格" Java语言中的Excel操作是指使用Java编程语言来读取、写入和操作Excel电子表格文件的过程。下面我们将对Java中操作Excel表格的知识点进行详细说明。 Java Excel API Java Excel API是Java...
**Jxcell API** 是一个在Java环境中用于创建和操作Excel报表的强大工具,尤其适合于生成复杂的Excel报表。它提供了一系列详细的API,使得开发者能够轻松地实现数据的导入导出,样式设定,公式计算等功能,极大地提升...
以下将详细讲解Java中操作Excel的核心知识点: 1. **API选择**: Java提供了多种库来处理Excel文件,最常用的是Apache POI和JExcelAPI。Apache POI是开源项目,功能强大且广泛使用,支持最新的Excel格式(.xlsx)...
在Java编程中,处理Excel文件是一项常见的任务,特别是在...以上就是"java操作Excel的真删改查例子"所涵盖的关键技术点,通过学习和实践这些示例,开发者可以熟练地在Java环境中处理Excel文件,完成各种数据操作任务。
java操作Excel java操作Excel java操作Excel
"java操作excel"这个主题就是关于如何利用Java与Excel进行交互的知识点。在Java世界里,JXL库(Java Excel API)是一个广泛使用的第三方库,它允许开发者读取、写入和修改Excel文件。下面我们将深入探讨JXL库及其在...
Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word...
当我们谈论“Java操作Excel表格”时,通常是指使用Java来读取、写入或处理Microsoft Excel文件,这在数据分析、报表生成或者数据交换等场景中非常常见。本主题将围绕Java如何与Excel交互进行深入探讨。 首先,Java...
在Java中操作Excel文件,JExcelAPI提供了以下关键功能: 1. **读取Excel文件**:通过Workbook类,开发者可以打开并访问Excel工作簿中的所有工作表。Sheet类则用于代表工作表,可以获取行和列的数据。例如,可以使用...
3. **Java与Excel交互**:通常使用Apache POI库来在Java中操作Excel文件(XLS和XLSX格式)。POI提供了API来创建、读取和修改Excel工作表,包括单元格数据、公式和样式。 4. **数据序列化和反序列化**:将NURBS数据...