工具类

  1. package com.banxue.kmsservice.helper;
  2.  
  3. import net.sf.json.JSONArray;
  4. import net.sf.json.JSONObject;
  5. import org.apache.poi.hssf.usermodel.HSSFSheet;
  6. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  7. import org.apache.poi.ss.usermodel.Cell;
  8. import org.apache.poi.ss.usermodel.Row;
  9. import org.apache.poi.xssf.usermodel.XSSFSheet;
  10. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  11. import rx.internal.util.LinkedArrayList;
  12.  
  13. import javax.servlet.http.HttpServletResponse;
  14. import java.util.Iterator;
  15. import java.util.LinkedList;
  16. import java.util.Map;
  17.  
  18. public class ExcelExportHelper {
  19. public static void writeExcelHeader(HttpServletResponse response,String fileName) throws Exception{
  20. if(!(fileName.endsWith(".xls") || fileName.endsWith("xlsx"))){
  21. fileName+=".xlsx";
  22. }
  23. response.setHeader("Content-disposition","attachment;filename="+new String(fileName.getBytes("gb2312"),"ISO8859-1")); //设置文件头编码格式
  24.  
  25. response.setContentType("APPLICATION/OCTET-STREAM;charset=UTF-8");//设置类型
  26.  
  27. response.setHeader("Cache-Control","no-cache");//设置头
  28.  
  29. response.setDateHeader("Expires", 0);//设置日期头
  30. }
  31.  
  32. public static void writeExcelData(HttpServletResponse response, JSONArray dataAraay, Map<String,String> map, String sheetName) throws Exception{
  33. XSSFWorkbook book=new XSSFWorkbook();
  34. XSSFSheet sheet=book.createSheet(sheetName);
  35. //创建表头
  36. Iterator<String> iterator = map.keySet().iterator();
  37. Row row = sheet.createRow(0);
  38. int i = 0;
  39. LinkedList list = new LinkedList();
  40. while (iterator.hasNext()){
  41. String key = iterator.next();
  42. Cell cell = row.createCell(i);
  43. cell.setCellValue(map.get(key));
  44. list.add(key);
  45. i++;
  46. }
  47. //写入数据
  48. for(int j = 0; j < dataAraay.size(); j++){
  49. JSONObject jsonObject = JSONObject.fromObject(dataAraay.get(j));
  50. Row dataRow = sheet.createRow(j+1);
  51. for(int k = 0; k < list.size(); k++){
  52. dataRow.createCell(k).setCellValue(String.valueOf(jsonObject.get(list.get(k))));
  53. }
  54. }
  55. book.write(response.getOutputStream());
  56. response.getOutputStream().flush();
  57. response.getOutputStream().close();
  58. }
  59. }

  引用:

  1.      //获取活动下可以发货的数据
  2. List<Map> recordDaos = laXinActivityExchangeRecordMapperUser.selectWaitDeliverByActivityId(activityId);
  3. //生成excel
  4. ExcelExportHelper.writeExcelHeader(response,DateHelper.getDateTimeString(new Date(),"yyyy-MM-dd"));
  5. //设置字段对应的含义值
  6. Map map = new HashMap();
  7. map.put("id","id");
  8. map.put("wx_name","用户微信名");
  9. map.put("receive_user","收货人");
  10. map.put("receive_phone","收货电话");
  11. map.put("receive_address","收货地址");
  12. map.put("receive_memo","备注");
  13. map.put("quantity","申请数量");
  14. map.put("id","id");
  15. //写入数据并下载excel
  16. ExcelExportHelper.writeExcelData(response,JSONArray.fromObject(recordDaos),map,DateHelper.getDateTimeString(new Date(),"yyyy-MM-dd"));

poi 导出工具类的更多相关文章

  1. 一个基于POI的通用excel导入导出工具类的简单实现及使用方法

    前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴. ...

  2. 基于jdk1.7实现的excel导出工具类

    通用excel导出工具类,基于泛型.反射.hashmap 以及基于泛型.反射.bean两种方式 import java.io.*;import java.lang.reflect.Field;impo ...

  3. ireport 导出工具类

    Ireport 报表导出 Poi + ireport 导出pdf, word ,excel ,html 格式 下面是报表导出工具类 Ireport 报表导出 Poi + ireport 导出pdf,  ...

  4. EXCEL导出工具类及调用

    一.Excel导出工具类代码 package com.qiyuan.util; import java.io.OutputStream; import java.io.UnsupportedEncod ...

  5. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  6. Java基础学习总结(49)——Excel导入导出工具类

    在项目的pom文件中引入 <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifac ...

  7. 【原创】POI操作Excel导入导出工具类ExcelUtil

    关于本类线程安全性的解释: 多数工具方法不涉及共享变量问题,至于添加合并单元格方法addMergeArea,使用ThreadLocal变量存储合并数据,ThreadLocal内部借用Thread.Th ...

  8. java实现Excel定制导出(基于POI的工具类)

    我的需求: 项目中有一些工程表格需要导出,设计到行列合并,定制样式,原有工具类冗余,内聚性强.所以想写一个可以随意定制excel的工具类,工具类满足需求: 对于常用的工程表格有模板格式,可以任意插拔. ...

  9. java中excel导入\导出工具类

    1.导入工具 package com.linrain.jcs.test; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import ...

随机推荐

  1. VMware vSphere之vCenter

    1.vCenter是什么? vCenter Server 是 vSphere管理员使用的主要管理工具,首先,通过它可实现对数据中心所有主机的单点控制,也就是提供集中式管理.其次,提供基本的基础结构操作 ...

  2. JSTL标签总结备用

    前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多 ...

  3. 重叠io操作

    第一章 一. 重叠模型的优点 1. 可以运行在支持Winsock2的所有Windows平台 ,而不像完成端口只是支持NT系统. 2. 比起阻塞.select.WSAAsyncSelect以及WSAEv ...

  4. struts2下面如何同时使用servlet,就是如何实现struts与servlet共存

    转载 原文链接:https://blog.csdn.net/u013358115/article/details/20706607 问题 项目要求struts2和servlet能够共存,就是strut ...

  5. 一个自定义MVP .net框架 AngelFrame

    摘要:本篇是本人在完成.net平台下一个项目时,对于MVP框架引发的一些思考,以及开发了一个小型的配置型框架,名字叫作AngelFrame.这个项目属于前端桌面管理系统的一部分,最终要集成进去. 关键 ...

  6. Javascript 链式作用域 function fn(){}和var fn=function(){}区别

    其实对于Javascript链式作用域的描述,包括,JS权威指南,都有些太冗长了--但是很准确:JavaScript中的函数运行在他们被定义的作用域里,而不是他们被执行的作用域里. 这句话有点难懂,但 ...

  7. $.ajax()所有参数详解

    原文:https://www.cnblogs.com/everest33Tong/p/6159700.html [一]$.ajax()所有参数详解 url: 要求为String类型的参数,(默认为当前 ...

  8. BitArray简单例子

    using System; using System.Collections; using System.Text; namespace TestConsole { class Program { s ...

  9. [HNOI2004]宠物收养所

    题目链接:戳我 其实也就是一个splay而已了. 但是一定要注意这种需要计算的,刚开始insert的时候插入极大值极小值的时候不要让它爆掉int.......(比如我刚开始就写了一个214748364 ...

  10. [ActionScript 3.0] 如何控制加载swf动画的播放与暂停

    此方法适用于用as 1.0或者as2.0以及as3.0编译的swf,因为as1.0和as2.0编译的swf是AVM1Movie类型,因此需要通过类ForcibleLoader.as将其转换为versi ...