poi excel下载

1.声明浏览器类型:application/vnd.ms-excel

public static final String XLS = "application/vnd.ms-excel";

2.创建Excel

//创建EXCELHSSFWorkbook wb = new HSSFWorkbook();  HSSFSheet sheet = wb.createSheet("请假统计");  HSSFRow row = sheet.createRow((int) 0);  HSSFCellStyle style = wb.createCellStyle();  style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//创建Excel头文件int i = 0;for(Map.Entry<String, String> entry : exportExcelFields().entrySet()){HSSFCell cell = row.createCell(i);  String value = entry.getValue();
System.out.println("value====="+value);cell.setCellValue(value);  cell.setCellStyle(style);sheet.autoSizeColumn(i); sheet.setColumnWidth(i, 5000);i++;}//创建数据if(null!=users && users.size()>0){i=1;for(User user : users){Map<String,Object> map = (Map<String,Object>) JSONObject.fromObject(user);row = sheet.createRow(i);int j = 0;for(Map.Entry<String, String> entry : exportExcelFields().entrySet()){String key = entry.getKey();String value = map.get(key)==null?"":String.valueOf(map.get(key));
System.out.println("key=========="+key+"         value====="+value);if("sex".equals(key)) row.createCell(j).setCellValue("F".equals(value.toUpperCase())?'女' : '男');else row.createCell(j).setCellValue(value);sheet.autoSizeColumn(j); j++;}i++;}}this.writeExcel(response, wb, "请假统计.xls");

3.已流的方式响应给客户端

public static void writeExcel(HttpServletResponse response, HSSFWorkbook workbook, String filename) throws IOException {ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();workbook.write(byteArrayOutputStream);byte[] bytes = byteArrayOutputStream.toByteArray();// 清空responseresponse.reset();// 设置response的Headerresponse.setContentType(XLS+";charset=utf-8");response.addHeader("Content-Disposition", "attachment;filename=" + new String (filename.getBytes("utf-8"),"iso8859-1"));response.addHeader("Content-Length", "" + bytes.length);OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());outputStream.write(bytes);outputStream.flush();
    outputStream.close();
}

poi excel下载相关推荐

  1. POI excel下载 中文名 浏览器兼容解决

    private void downfile(HSSFWorkbook wb,String ua,String fileName,HttpServletResponse response)throws ...

  2. Springboot利用poi导出excel下载

    Springboot利用poi导出excel下载 因为项目中之前的做法是用反射获取属性,所以demo中也是用的反射,我看网上很多文章都是存入一个List中,不知道这两种哪种更何合适一点,或者有什么更好 ...

  3. Java实现Excel下载,excel文件流输出到浏览器

    关于实现Excel下载,我使用的是easypoi, easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员就可以方便的写出Excel导出,Excel模板导出,Excel导 ...

  4. java实现excel下载功能实例

    其实需求很简单,就是点击按钮后,向后台传入查询条件,然后根据查询条件获取满足条件的记录通过excel下载. 方案一:使用ajax方式不可以原因 导出excel算是文件下载了,后台需要向前台(浏览器)写 ...

  5. vue+axios 实现Excel下载

    以前写过关于Springboot提供Excel文件下载的博客:SpringBoot 使用POI进行Excel下载_兮川的博客-CSDN博客 ,当点击下载的api地址时,就可以直接下载,或我们在前端页面 ...

  6. 大批量数据excel下载---本文作者只试了51万数据的下载,用时7秒

    一.背景: 现在的项目里,有诸多下载功能,随着数据越来越多,下载的时间也越来越长,很影响用户体验,为了解决这一问题,我不得不挺身而出,斩破难关.项目中原本用的是poi-HSSFWorkbook,但是如 ...

  7. excel下载打包总结

    一.poi下载 excel 下载其实就是创建一个新的workbook, 前端请求url地址; 后台通过流的方式直接输出到页面.不需要前端有操作 一共有两总方式: 1. 创建一个workbook类,然后 ...

  8. POI报表下载与上传 日历展示预约设置信息

    POI报表下载与上传 日历展示预约设置信息 第5章 预约管理-预约设置 1. 需求分析 2. Apache POI 2.1 POI介绍 2.2 入门案例 2.2.1 从Excel文件读取数据 2.2. ...

  9. 常见linux网络端口对照表(excel),常见子网掩码对照表Excel下载(反、正掩码)-数通工程师的傍身笔记...

    ##常见子网掩码对照表Excel版.Excel下载-数通工程师的傍身笔记 --- | 子网掩码 | 掩码位 | 总IP数 | 可用主机数 | C类网段数量 | | :-------------: | ...

最新文章

  1. unc0ver 发布新版本支持 iOS 13.3 越狱
  2. 【ECS最佳实践】基于多块云盘构建LVM逻辑卷
  3. android 8.0 悬浮窗 最简demo
  4. 备份k8s_树莓派k8s集群安装kafka集群及监控
  5. 三维坐标绕轴坐标旋转公式
  6. ElastcSearch的Mapping映射建立
  7. 学习记录542@阿里云OCR身份证识别具体实现
  8. win7开启telnet工具
  9. Caused by: java.lang.ClassNotFoundException: org.jaxen.JaxenException
  10. IDEA中的SourceRoot含义及设置方法
  11. 数据分析SQL日期维度表生成(含节假日)
  12. Google Chrome浏览器调试入门————转载只为自己查看方便
  13. vscode下的vue文件格式化
  14. Horner法则(秦九韶算法 )的程序实现
  15. 利用SSR修正的RTKLIB PPP测试
  16. 泛型编程和STL基础学习(C++)(未完待续)
  17. 第2.1章 scrapy之国内高匿代理IP爬取
  18. netbackup服务linux,命令行方式管理NETBACKUP
  19. 把数据转化为JSON格式
  20. 蓝牙技术|蓝牙Mesh在照明网络上的应用

热门文章

  1. react具名插槽与作用域插槽
  2. Android studio的ADBWifi使用
  3. sql server数据库事务日志已满请参阅log_reuse_wait_desc怎么解决?
  4. Xiaojie雷达之路---毫米波雷达基础知识---距离估计
  5. steam++工具箱
  6. Android Compose——一个简单的Bilibili APP
  7. 如何用matlab画旋转面,基于MATLAB在旋转面及其方程教学中应用的教学设计
  8. 软件工程实训有必要吗_软件工程专业有没有必要考研
  9. 精美viso制图(1)
  10. 前端 Switch 开关功能