导出excel 通过浏览器响应来实现

控制层

 /***预警导出*/@RequestMapping(value = "excelExportWarning")public void excelExportfightingWarning(@RequestBody JSONObject json,HttpServletResponse response) throws Exception {ResultInfo resultInfo = new ResultInfo();try {resultInfo = mFireFightingWarningService.excelExportfightingWarning(json,response);} catch (Exception e) {e.printStackTrace();resultInfo.setCode(MsgEnum.FAIL.getCode());resultInfo.setMsg(MsgEnum.FAIL.getMsg());}}

业务层

public ResultInfo excelExportfightingWarning(JSONObject json,HttpServletResponse response) throws Exception {//创建了一个excel文件HSSFWorkbook workbook = new HSSFWorkbook();//创建了一个工作簿HSSFSheet sheet = workbook.createSheet("预警信息表");//设置要导出的文件的名字//excel文件名String fileName = "消防预警信息表"+System.currentTimeMillis()+".xls";// 如果文件名有中文,必须URL编码fileName = URLEncoder.encode(fileName, "UTF-8");//新增数据行,并且设置单元格数据int rowNum = 1;String[] headers = {"预警时间","单位","州市","区县","预警种类","级别","状态"};//headers表示excel表中第一行的表头HSSFRow row = sheet.createRow(0);HSSFCellStyle style = workbook.createCellStyle();style.setAlignment(HorizontalAlignment.CENTER);HSSFFont font = workbook.createFont();font.setFontName("黑体");font.setFontHeightInPoints((short) 12);//设置字体大小style.setFont(font);style.setFillForegroundColor(IndexedColors.CORNFLOWER_BLUE.getIndex());// 设置背景色//在excel表中添加表头for (int i = 0; i < headers.length; i++) {HSSFCell cell = row.createCell(i);HSSFRichTextString text = new HSSFRichTextString(headers[i]);cell.setCellValue(text);}//日期格式SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");HSSFCellStyle dateCellStyle = workbook.createCellStyle();short df = workbook.createDataFormat().getFormat("yyyy-MM-dd HH:mm:ss");dateCellStyle.setDataFormat(df);//在表中存放查询到的数据放入对应的列List<MFireFightingWarning> list = this.findPage(json);for (MFireFightingWarning obj: list) {HSSFRow row1 = sheet.createRow(rowNum);row1.createCell(0).setCellValue(sdf.format(obj.getWarningTime()));row1.createCell(1).setCellValue(obj.getCulturaCompanyName());row1.createCell(2).setCellValue(obj.getCityName());row1.createCell(3).setCellValue(obj.getDistrictName());row1.createCell(4).setCellValue(obj.getWarningSpeciesName());row1.createCell(5).setCellValue(obj.getWarningLevelName());row1.createCell(6).setCellValue(WarningStatusEnum.getValue(obj.getStatus()));rowNum++;}//设置头信息// ContentType 可以不设置response.setHeader("Content-disposition", "attachment;filename=" + fileName);response.setContentType("application/vnd.ms-excel;charset=UTF-8");workbook.write(response.getOutputStream());response.getOutputStream().flush();response.getOutputStream().close();return new ResultInfo();}

通过浏览器响应实现excel导出相关推荐

  1. 将数据库数据导出到Excel中,并可以在浏览器上下载Excel

    将数据库数据导出到Excel中,并可以在浏览器上下载Excel 附代码: //设置文件保存路径 public static String url ="F:\\Workspase\\BackC ...

  2. 从浏览器里面的数据导出数据到Excel表格

    从浏览器里面的数据导出数据到Excel表格 开发工具与关键技术:Visual Studio 2015 作者:李仁海 撰写时间:2019.5.5 一. 导出数据到Excel表格 1. public.加上 ...

  3. linux 导出 excel文件名乱码,excel导出,文件名称中文乱码问题 · 大腿的博客

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 记录一个excel导出遇见的中文名称的问题 接到项目需要有excel的导入导出功能,基于poi实现还是挺简单的,文件的导 ...

  4. 【解耦Excel导出服务】开发日志

    一.开发分析 1.导出excel设计分析 瓶颈:大量数据导出时 mysql查询连接占用时间过长 组装对象生成excel时,容易导致CPU占用过高.JVM临时内存占用过大(可能导致oom,可能导致GC) ...

  5. Poi实现Excel导出

    Poi实现Excel导出 Appache Poi提供了HSSFWorkbook操作2003版本的Excel文件, XSSFWorkbook操作2007版Excel文件. 简单的具体实现在网上有很多案例 ...

  6. Java之Excel导出工具类使用教程

    前言: 本工具类经过PostMan和web页面严格测试可用,经过了多个版本迭代优化,可以直接使用,也方便大家根据自己的业务需求,修改定制自己的导出工具. 市面上有很多封装好的导出工具(如:阿里的eas ...

  7. 使用建造者模式(Builder Pattern) 设计Excel导出场景,附源码

    目录 建造者模式(Builder Pattern)简单介绍: 常见Excel导出场景 常见Excel 导出编码过程-结合过程查看代码 本文中的Excel导出使用方式 使用建造者模式设计Excel 导出 ...

  8. js页面上的excel导出

    js页面上的excel导出 这里的代码是网上转别人的感觉还不错,可以试试. <html> <head> <script type="text/javascrip ...

  9. 由excel导出引起的cpu 100% 和gc 的问题

    大家好,我是烤鸭:     记一次 由excel导出 导致的cpu飙升200%,jvm 内存不足. 1.  场景复现 前端页面导出Excel,之前导出4,5W条数据都没什么问题的.     今天业务突 ...

最新文章

  1. data的值 如何初始化vue_vue data恢复初始化数据的实现方法
  2. idea中配置xml不自动提示解决方案
  3. git本地分支删除,代码没了!怎么恢复!亲测有效(吓死人了)
  4. 关于数组的 slice() 和 splice() 方法
  5. 递归统计项目中的非空白代码行数
  6. Web 全栈工程师的自我修养
  7. 【Cocos Creator】 编辑器自定义 ——下拉列表属性、滑动条属性等
  8. 怎样免费将Word导出为PDF格式?
  9. 基于多进程架构的嵌入式软件框架研究与实现
  10. python读excel表_怎么用python读取excel表格的数据
  11. 犀牛书第七版学习笔记:表达式和运算符
  12. 构建模型——用Python构建logit、负二项回归、决策树与随机森林机器学习模型
  13. int *a 和 int* a 的区别
  14. 高职学校计算机研讨内容,高职院校计算机文化基础课教学与计算机等级考试关系研讨...
  15. 如何在电脑上运行模拟器
  16. el-table表单增加show-summary表尾合计,表格错位和高度计算错误
  17. HTML5中swiper实现图片查看功能
  18. 南邮 OJ 1567 Suspicious Stocks
  19. python gui 框架中显示gif_使用tkinter显示动态gif
  20. Next '21 大会倒计时 1 天丨与 Google Cloud 一起寻找打开数字化的“云钥匙”

热门文章

  1. markedTextRange理解及使用 计算长度解决中文输入时拼音会显示到文本的问题
  2. mysql 5.7版本异常Expression #1 of ORDER BY clause is not in GROUP BY clause and contains 处理
  3. java访问excel表格_Java读取excel表格(示例代码)
  4. 【数据分析】产品日活DAU下降,怎么分析
  5. 微信小程序-登录(wx.login)
  6. 从“汽转球”、“差分机”到“机巧伊武”——蒸汽朋克补完计划
  7. Android 仿美团选择城市、微信通讯录、饿了么点餐列表的导航悬停分组索引列表
  8. mac 命令行查看DNS
  9. linux centos如何开启远程桌面,CentOS配置远程桌面
  10. 机械臂C语言编程,ROS下C++控制UR机械臂