- 浏览: 703984 次
- 性别:
- 来自: 福建
文章分类
最新评论
-
羽翼的心动:
同意2楼的说法,我们公司之前一个项目用过pageoffice, ...
poi导出excel文件工具类 -
贝塔ZQ:
poi实现导出excel文件,蛮麻烦的,用pageoffice ...
poi导出excel文件工具类 -
aishiqiang:
为什么我的项目配置好证书后,每次使用jenkinst自动构建包 ...
关于使用https协议,cas认证PKIX path building failed错误解决方法 -
zhongmin2012:
谢谢分享,正在想看
AST解析java源文件相关jar包 -
mybestroy1108:
感谢分享!受益良多!
Jboss7 JMS demo
package m.utils.excel; import org.apache.poi.hssf.usermodel.*; import java.io.FileOutputStream; import java.io.IOException; import java.util.Calendar; import java.util.List; import java.util.Map; /** * poi 导出excel 工具类 */ public class POIUtil { /** * 1.创建 workbook * @return */ public HSSFWorkbook getHSSFWorkbook(){ return new HSSFWorkbook(); } /** * 2.创建 sheet * @param hssfWorkbook * @param sheetName sheet 名称 * @return */ public HSSFSheet getHSSFSheet(HSSFWorkbook hssfWorkbook, String sheetName){ return hssfWorkbook.createSheet(sheetName); } /** * 3.写入表头信息 * @param hssfWorkbook * @param hssfSheet * @param headInfoList List<Map<String, Object>> * key: title 列标题 * columnWidth 列宽 * dataKey 列对应的 dataList item key */ public void writeHeader(HSSFWorkbook hssfWorkbook,HSSFSheet hssfSheet ,List<Map<String, Object>> headInfoList){ HSSFCellStyle cs = hssfWorkbook.createCellStyle(); HSSFFont font = hssfWorkbook.createFont(); font.setFontHeightInPoints((short)12); font.setBoldweight(font.BOLDWEIGHT_BOLD); cs.setFont(font); cs.setAlignment(cs.ALIGN_CENTER); HSSFRow r = hssfSheet.createRow(0); r.setHeight((short) 380); HSSFCell c = null; Map<String, Object> headInfo = null; //处理excel表头 for(int i=0, len = headInfoList.size(); i < len; i++){ headInfo = headInfoList.get(i); c = r.createCell(i); c.setCellValue(headInfo.get("title").toString()); c.setCellStyle(cs); if(headInfo.containsKey("columnWidth")){ hssfSheet.setColumnWidth(i, (short)(((Integer)headInfo.get("columnWidth") * 8) / ((double) 1 / 20))); } } } /** * 4.写入内容部分 * @param hssfWorkbook * @param hssfSheet * @param startIndex 从1开始,多次调用需要加上前一次的dataList.size() * @param headInfoList List<Map<String, Object>> * key: title 列标题 * columnWidth 列宽 * dataKey 列对应的 dataList item key * @param dataList */ public void writeContent(HSSFWorkbook hssfWorkbook,HSSFSheet hssfSheet ,int startIndex, List<Map<String, Object>> headInfoList, List<Map<String, Object>> dataList){ Map<String, Object> headInfo = null; HSSFRow r = null; HSSFCell c = null; //处理数据 Map<String, Object> dataItem = null; Object v = null; for (int i=0, rownum = startIndex, len = (startIndex + dataList.size()); rownum < len; i++,rownum++){ r = hssfSheet.createRow(rownum); r.setHeightInPoints(16); dataItem = dataList.get(i); for(int j=0, jlen = headInfoList.size(); j < jlen; j++){ headInfo = headInfoList.get(j); c = r.createCell(j); v = dataItem.get(headInfo.get("dataKey").toString()); if (v instanceof String) { c.setCellValue((String)v); }else if (v instanceof Boolean) { c.setCellValue((Boolean)v); }else if (v instanceof Calendar) { c.setCellValue((Calendar)v); }else if (v instanceof Double) { c.setCellValue((Double)v); }else if (v instanceof Integer || v instanceof Long || v instanceof Short || v instanceof Float) { c.setCellValue(Double.parseDouble(v.toString())); }else if (v instanceof HSSFRichTextString) { c.setCellValue((HSSFRichTextString)v); }else { c.setCellValue(v.toString()); } } } } public void write2FilePath(HSSFWorkbook hssfWorkbook, String filePath) throws IOException{ FileOutputStream fileOut = null; try{ fileOut = new FileOutputStream(filePath); hssfWorkbook.write(fileOut); }finally{ if(fileOut != null){ fileOut.close(); } } } /** * 导出excel * code example: List<Map<String, Object>> headInfoList = new ArrayList<Map<String,Object>>(); Map<String, Object> itemMap = new HashMap<String, Object>(); itemMap.put("title", "序号1"); itemMap.put("columnWidth", 25); itemMap.put("dataKey", "XH1"); headInfoList.add(itemMap); itemMap = new HashMap<String, Object>(); itemMap.put("title", "序号2"); itemMap.put("columnWidth", 50); itemMap.put("dataKey", "XH2"); headInfoList.add(itemMap); itemMap = new HashMap<String, Object>(); itemMap.put("title", "序号3"); itemMap.put("columnWidth", 25); itemMap.put("dataKey", "XH3"); headInfoList.add(itemMap); List<Map<String, Object>> dataList = new ArrayList<Map<String,Object>>(); Map<String, Object> dataItem = null; for(int i=0; i < 100; i++){ dataItem = new HashMap<String, Object>(); dataItem.put("XH1", "data" + i); dataItem.put("XH2", 88888888f); dataItem.put("XH3", "脉兜V5.."); dataList.add(dataItem); } POIUtil.exportExcel2FilePath("test sheet 1","F:\\temp\\customer2.xls", headInfoList, dataList); * @param sheetName sheet名称 * @param filePath 文件存储路径, 如:f:/a.xls * @param headInfoList List<Map<String, Object>> * key: title 列标题 * columnWidth 列宽 * dataKey 列对应的 dataList item key * @param dataList List<Map<String, Object>> 导出的数据 * @throws java.io.IOException * */ public static void exportExcel2FilePath(String sheetName, String filePath, List<Map<String, Object>> headInfoList, List<Map<String, Object>> dataList) throws IOException { POIUtil poiUtil = new POIUtil(); //1.创建 Workbook HSSFWorkbook hssfWorkbook = poiUtil.getHSSFWorkbook(); //2.创建 Sheet HSSFSheet hssfSheet = poiUtil.getHSSFSheet(hssfWorkbook, sheetName); //3.写入 head poiUtil.writeHeader(hssfWorkbook, hssfSheet, headInfoList); //4.写入内容 poiUtil.writeContent(hssfWorkbook, hssfSheet, 1, headInfoList, dataList); //5.保存文件到filePath中 poiUtil.write2FilePath(hssfWorkbook, filePath); } }
评论
3 楼
羽翼的心动
2017-02-21
同意2楼的说法,我们公司之前一个项目用过pageoffice,导出word,excel都很简单方便,还可以实现动态填充word,excel呢,推荐楼主试试。
2 楼
贝塔ZQ
2017-01-03
poi实现导出excel文件,蛮麻烦的,用pageoffice吧,支持xls,xlsx格式的,集成起来也方便。
1 楼
m890701
2016-01-05
楼主可以吧这块写详细一点~ ~~ 对哪个Sheet 那一行 , 那一列添加那些值。 等等
发表评论
-
linux 定时任务检查服务器是否正常
2014-02-28 22:21 4690通过curl命令判断url返回状态,以此来确定服务是否正常: ... -
课程设计--家庭财务管理系统
2012-04-14 16:58 1873记得第一次接触FLEX3是在毕业那一年,那时已经工作了大半年了 ... -
what's MINA?
2011-03-15 23:09 1361what's MINA? Apache MINA is a ... -
如何避免吧.svn文件编译到classes目录下
2011-01-25 09:47 0SVN是一个很好用的版本管理根据,但有一个很烦人的问题用ecl ... -
Java 异常处理及其应用
2010-10-26 12:46 1369Java 异常处理的忌讳引 ... -
AST解析java源文件相关jar包
2010-08-26 14:57 10542今天有个处理需要涉及到java源文件的解析,baidu、goo ... -
使用ejb3配置开发SessionBean
2010-08-25 17:06 0Session Bean除了可以使用注释来发布外,也可以使用相 ... -
oracle clob类型处理
2010-08-23 11:13 0oracle clob类型处理 update clob字段放 ... -
ibatis 事务回滚操作
2010-08-11 13:54 0public StateBean deleteTask(M ... -
设计模式 之 “适配器模式[Adapter Pattern]”
2010-07-15 08:58 1111适配器模式[Adapter Pattern]类图 适配器模 ... -
帮朋友写的个关键字搜索器
2010-07-14 10:33 1419上礼拜一朋友让我帮忙写个小软件,需求大概是这样的:一个 ... -
实现xml到JavaBean的转换
2010-05-15 22:08 1662今天心血来潮,想实现xml到JavaBean的实现,baidu ... -
使用apache mail发送邮件错误解决办法
2010-04-28 16:29 8020今天在写发送邮件的程序时发现了以下两个些错误,贴出来跟大家分享 ... -
jbpm4部署异常
2010-03-15 10:11 0java.lang.LinkageError: loader ... -
spring 单元测试:java.lang.SecurityException
2010-03-05 20:06 0spring 单元测试抛出: java.lang.Secur ... -
eclipse安装spket插件(javascript工具)
2009-12-18 15:29 0eclipse安装spket插件(javascript工具) ... -
使用java excel api 导出数据到excel
2009-12-11 16:06 0找到一个java操作excel的api,连接地址http:// ... -
java int转byte[]
2009-11-05 13:39 0/** * int转byte[] * @pa ... -
附件下载
2009-10-28 14:35 0/** * 下载 * @param reques ... -
数值用千位分隔的方法
2009-10-24 08:57 1672将数值用“,”分隔或其它符号分隔的正则表达式如下: (?& ...
相关推荐
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
String outputFile = "D:\\excel\\excel.xlsx"; OutputStream outputStream = new FileOutputStream(outputFile); UtilExcel utilExcel = new UtilExcel(); String titles = "所属区域,所属车间,当前处理人,描述...
java的poi的导入工具类,只需要传入两个arrayList,一个是execl的标题,一个是ececl的数据,就可以直接导出到execl里面,支持最新的execl,全新封装的,让每一个人都会使用poi导出execl!
概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...
食用指南 https://blog.csdn.net/weixin_44067399/article/details/107974673 本工具为基于POI封装的一个工具类,旨在提高开发效率,供学习交流用 使用本工具的前提是安装了POI
在这个场景中,我们关注的是如何使用POI来创建一个功能丰富的Excel导出工具类,它能够自动设置标题、列名、文件名,并且支持插入图片以及合并单元格。下面将详细介绍这些功能的实现。 首先,要创建一个Excel工作簿...
poi导出excel工具类,亲测可用
使用POI导出Excel文件** 导出Excel文件主要涉及以下几个步骤: - **创建Workbook对象**:这是Excel文件的容器,可以使用`XSSFWorkbook`(针对.xlsx)或`HSSFWorkbook`(针对.xls)创建。 - **创建Sheet对象**:...
总之,Apache POI 提供了强大的 Java API 来处理 Excel 文件,而 `ExportExcelUtils.java` 工具类则为开发人员提供了一个便捷的起点,帮助他们快速实现 Excel 数据的导出功能。在实际使用中,应结合项目需求,灵活...
在压缩包的文件名“poi2007”中,我们可以推测这可能包含了一些与POI操作Excel 2007文件相关的类或者示例代码。这些代码可能包含了上述所有步骤,帮助开发者更好地理解如何使用Apache POI来处理XLSX格式的Excel文件...
标题“poi导出excel通用类”指的是使用Apache POI库创建一个可以用于导出Excel文件的Java类。Apache POI是开源项目,提供了一组API,使得开发者可以在Java应用程序中读写Microsoft Office格式的文件,包括Excel。在...
在这个场景中,"Poi导出Excel工具类"是一个已经封装好的Java类,设计用于高效地导出大量数据到Excel文件中,并且支持多sheet页的布局。这个工具类简化了开发过程,使得开发者无需关心底层细节,只需调用预定义的方法...
这个“excel poi工具类”是利用Apache POI库来实现对Excel文件进行导入、导出、合并单元格以及处理计算公式的功能。下面我们将深入探讨这些知识点。 **1. Apache POI库介绍** Apache POI是一个开源项目,它为Java...
在Java开发中,Apache POI 是一个非常流行的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,...总之,Excel POI 工具类是Java开发中处理Excel文件的一个强大助手,它使Excel操作变得更加简单和高效。
在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,我们需要理解POI库的基本概念。POI提供了HSSF(Horizontally SpreadSheet Format)和XSSF...
这可能是提供的代码库或工具包的名称,其中包含了处理 Excel 导出的类和方法。这个库可能包含了一些通用的辅助函数,如数据转换、样式设置、模板解析等功能,简化了开发者的工作。 总结来说,"poi-excel-handler" ...
同样,导出Excel功能可以通过创建一个新的工作簿,填充数据,然后设置样式和写入输出流来实现。以下是一个简单的导出示例: ```java @GetMapping("exportList") public void exportList(HttpServletResponse ...
### 文件下载:使用POI导出Excel文档 在日常工作中,我们经常需要处理大量数据,并将其以Excel格式导出供用户下载。Java中一个非常强大的工具包——Apache POI可以帮助我们实现这一需求。Apache POI是一个用于读写...
以上就是使用Java POI导出Excel的基本步骤。你可以根据实际需求调整代码,例如添加数据遍历、样式设置、图表生成等功能。确保正确管理资源,避免内存泄漏,特别是在服务器端处理大量数据时。记得在完成后关闭工作簿...
总之,这个 poi 多 sheet 导出工具类和实例是处理大量数据导出的有效方法,结合合理的数据分组、公共数据获取类以及优化策略,可以高效地生成多个 sheet 或多个 Excel 文件,满足大规模数据的导出需求。