根据查询结果导出表格数据

bootstrap table 自定义导出excle

甲方非要根据查询结果导出数据

 $("#导出按钮").on('click', function () {var rows =$("#表格").bootstrapTable('getSelections');
if(rows.length==0){var ids='1';$.ajax({type: "POST",data: $('#zzform').serialize(),url: root + "xx/saveIds",success: function (datas) {window.location=root+"xx/exportExcel";}});}

ajax 先把查询条件存到session

/*** 导出Excel先存ids*/@ResponseBody@RequestMapping(value = "/xx/saveIds", method = RequestMethod.POST)public void  queryPersonInfoListInfo(Bean bean,HttpServletRequest request) throws Exception{HttpSession session = request.getSession();session.setAttribute("bean",bean);}/*** @Author * @Date 2019/05/15* 导出Excel*/@ResponseBody@RequestMapping(value = "/xx/exportExcel", method = RequestMethod.GET)public ResponseJson exportExcel(HttpServletResponse response, HttpServletRequest request) throws Exception {Bean bean= (Bean )request.getSession().getAttribute("bean");xxxService.exportExcel(response,request,request.getSession().getAttribute("loginName").toString(),bean);return VSUtils.getResponseJson("导出成功", true, null);}

获取到实体对象

导出是根据实体对象 查询list
遍历list
导出数据

HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet("xxxx");HSSFRow row = sheet.createRow(0);HSSFCellStyle style = wb.createCellStyle();style.setAlignment(HSSFCellStyle.ALIGN_CENTER);  //居中sheet.setColumnWidth(1, 4000);//设置sheet.setColumnWidth(2, 4000);//sheet.setColumnWidth(3, 4000);//sheet.setColumnWidth(4, 5000);//sheet.setColumnWidth(5, 5000);//sheet.setColumnWidth(6, 4000);//sheet.setColumnWidth(7, 4000);//sheet.setColumnWidth(8, 4000);//HSSFCell cell = row.createCell(0);cell.setCellValue("aaaaaa");cell.setCellStyle(style);cell = row.createCell(1);cell.setCellValue("ssssss");cell.setCellStyle(style);cell = row.createCell(2);cell.setCellValue("xxx");cell.setCellStyle(style);List<Map<String,Object>> maps = xxMapper.selectInfo(loginName,bean);for (int i = 0; i < maps.size(); i++) {//遍历idMap<String,Object> map=maps.get(i);if (HelpUtils.isNotEmpty(map)) {HSSFRow row1 = sheet.createRow(i + 1);HSSFCell cell1 = row1.createCell(0);cell1.setCellStyle(style);cell1.setCellValue(i + 1);cell1 = row1.createCell(1);cell1.setCellStyle(style);cell1.setCellValue(map.get("xx").toString());cell1 = row1.createCell(2);cell1.setCellStyle(style);Object original_room = map.get("xx");if(original_room!=null && !original_room.equals("")){cell1.setCellValue(original_room.toString());}Object original_cabinet = map.get("xx");if( original_cabinet!=null && !original_cabinet.equals("") ){cell1.setCellValue(original_cabinet.toString());}}}String path = request.getSession().getServletContext().getRealPath("") + "xxx.xls";// 保存Excel文件try {// path是指欲下载的文件的路径。File file = new File(path);// 取得文件名。OutputStream outputStream = new FileOutputStream(path);wb.write(outputStream);outputStream.flush();outputStream.close();InputStream in = new FileInputStream(path);int len = 0;//创建数据缓冲区byte[] buffer = new byte[1024];OutputStream out = response.getOutputStream();//中文乱码编译String headerKey = "Content-Disposition";String headerValue = String.format("attachment; filename=\"%s\"",new String(file.getName().getBytes("gb2312"), "ISO8859-1"));response.setHeader(headerKey, headerValue);response.setContentType("application/vnd.ms-excel;");while ((len = in.read(buffer)) > 0) {//8.使用OutputStream将缓冲区的数据输出到客户端浏览器out.write(buffer, 0, len);}in.close();} catch (Exception e) {e.printStackTrace();}}

根据查询结果导出表格数据相关推荐

  1. 前端使用插件导出表格数据到Excel

    1.安装 vue-json-excel 依赖 npm install vue-json-excel 2.初始化 vue-json-excel import Vue from 'vue' import ...

  2. 标题vue导出表格数据,excel表格打不开

    vue导出表格数据,excel表格打不开 代码如下,当时是将**responseType: 'blob'**写在{headers: getHeader() }外面,导致问题一直没解决,后来经过度娘,了 ...

  3. js+PHP利用PHPExcel导出表格数据到excel

    这里写自定义目录标题 前言 通过js筛选出表格数据 PHP利用PHPExcel导出表格数据到excel 前言 因为在开发平台的时候遇到了需要将表格数据导出到Excel的情况,通过百度找到了PHP插件P ...

  4. 记element + xlsx 导出表格数据重复的坑

    在使用elementui做管理平台时遇到导出表格的需求,网上有很多解决方案,最多的就是使用xlsx + FileSaver 将页面上的表格转换成excel book. // 安装xlsx filesa ...

  5. 韵达快递怎么批量查询并导出表格?

    遇到大量的韵达快递需要进行查询,可以用什么方法来操作呢?今天小编就要给大家分享一个可以快速查询韵达快递,并将信息导出到表格的方法,下面就一起来试试这个操作吧! 首先打开浏览器搜索一下"固乔科 ...

  6. ant-design pro导出表格数据为Excel文件

    环境React+Ant Design 一.安装插件js-export-excel 1.yarn安装-记得以管理员身份执行 yarn add js-export-excelnpm安装 npm insta ...

  7. ant-design pro导出表格数据为Excel文件

    环境React+Ant Design 一.安装插件js-export-excel 1.yarn安装-记得以管理员身份执行 yarn add js-export-excelnpm安装 npm insta ...

  8. 基于PyQt5的快速开发模板系统-Excle数据批量导入及导出表格数据为Excle

    基于Python和PyQt5的快速开发模板系统-Excle数据批量导入显示及表格数据导出 基于PyQt5按钮控制实现excle数据批量导入及当前表格存在数据的批量导出,可在此基础上进行功能扩展. 1. ...

  9. 前端怎么导出表格_前端如何导出表格数据

    " 最近在搞前端数据导出功能,所以就在网上查了一下,然后就使用,需要的小伙伴们可以看看,如果哪里写错了,记得留言," 新建一个js文件 function outputTable ( ...

最新文章

  1. 第七章——DMVs和DMFs(2)——用DMV和DMF监控索引性能
  2. VC中CListCtrl中的LVCOLUMN和LVITEM详细介绍
  3. 网站服务器中病毒该如何处理,网站被中了木马无法删除怎么办? 解决网站中病毒的办法...
  4. 操作系统页面置换算法(opt,lru,fifo,clock)实现
  5. PHP笔记-双色球例子
  6. Glances:一款功能强大的操作系统安全监控平台
  7. 原有磁盘上创建lvm_lt;Linuxgt; LVM 原理及应用
  8. 800万像素3倍光变 奥林巴斯FE280降价
  9. https与http的区别
  10. Atitit 视频编码与动画原理attilax总结
  11. [C++]踩坑日记:内存别名
  12. 怎么开启2345加速浏览器的过滤弹窗广告
  13. 杭州电子科技大学程序设计竞赛(2016’12)- 网络同步赛 1004
  14. 微信小程序+云开发项目实战:商品类小程序(化妆品门店)
  15. openGL应用复杂度评价
  16. Big Data大数据基础知识
  17. Matlab 求矩阵的中值
  18. IT服务管理(ITSM)是什么?ITSM工具哪个好用
  19. 黑客新手基础扫盲贴(上) 黑客基地 黑客传说 黑客帝国 指间的黑客 黑客网站
  20. GO and KEGG富集分析

热门文章

  1. 计算机考研难度特别大吗,计算机考研难度大吗?学姐为你深度剖析
  2. 简单易懂读《重构》 - Primitive Obesession (基本类型偏执)
  3. 银行存取款系统(python)
  4. 神经网络可以用来预测吗,神经网络预测的局限性
  5. CSS中背景图定位方法
  6. 如何锁定计算机硬盘e盘,Win7如何给硬盘加密码?Win7硬盘加密步骤
  7. 3D Web可视化引擎HOOPS Communicator 2022 SP1更新亮点:新增支持2个格式、选择性加载 CAD 视图
  8. Swift 中的关键字详解
  9. 图幅号工具(免费转换坐标、查询图幅)
  10. ftp 修改服务器文件时间戳,如何使用Python ftplib获取FTP文件的修改时间