Excel在开发工作中比较常用的,最近做了一个功能就是批量导出数据到excel,并下载。今天上线了,特将代码贴出来,方便自己以后再做类似功能,能够更快上手,也方便更多没做过Excel功能的童鞋,更快的完成任务。各个层都包含的代码都有哦。
废话不多说
第一步 :导入解析excel需要的pom依赖

 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.14</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.14</version></dependency>

第二步:编写controller层代码(根据各自编写各层顺序喜好调整)

@GetMapping("/excelExportWhiteList")public void batchExportWhiteList(HttpServletResponse response) throws IOException {//解决文件名中文乱码String fileName = "白名单用户信息表" ;OutputStream outputStream=null;Workbook wb=shySaleService.batchExportWhiteList();//这行代码是固定的,就是说要以excel格式的文件response.setContentType("application/vnd.ms-excel");//这一行代码也是大部分是固定的,告诉以附件的形式下载,就 response.setHeader("Content-disposition", "attachment;filename="+new String(fileName.getBytes("gb2312"),"iso-8859-1") + ".xlsx");outputStream=response.getOutputStream();//response.setHeader("Content-disposition","attachment;filename="+ URLEncoder.encode("白名单用户信息表.xlsx","utf-8"));outputStream=response.getOutputStream();wb.write(outputStream);outputStream.flush();outputStream.close();}

第三步 :编写service层代码

 @Overridepublic Workbook  batchExportWhiteList() throws IOException {//查询出所有的白名单用户信息List<TabCommodityWhiteList> list=tabCommodityWhiteListMapper.queryWhiteList();if (CollectionUtils.isEmpty(list)) {throw new RuntimeException("白名单用户信息为空");}//创建workbookWorkbook workbook = new XSSFWorkbook();//创建sheetSheet sheet = workbook.createSheet("白名单用户信息表");//在sheet中添加表头第0行标题Row row1 = sheet.createRow(0);Cell ceLL11 = row1.createCell(0);ceLL11.setCellValue("用户名称");//第一行第二列标题Cell ceLL12 = row1.createCell(1);ceLL12.setCellValue("手机号码");//第三列标题Cell ceLL13 = row1.createCell(2);ceLL13.setCellValue("用户等级");//需要封装的数据的个数int length = list.size();System.out.println("白名单个数"+length);//开始封装数据,因为excel第一行写了标题,所以从1 //开始循环for (int i = 1; i < length; i++) {Row row = sheet.createRow(i );row.createCell(0).setCellValue(list.get(i).getUserName()==null? "":list.get(i).getUserName());row.createCell(1).setCellValue(list.get(i).getPhoneNo()==null? "":list.get(i).getPhoneNo());row.createCell(2).setCellValue(list.get(i).getUserLevel()== null? 100 :list.get(i).getUserLevel());}return  workbook;}

第四步:编写dao层代码,就是获得需要导出的数据,当然,可能你最后要导出的数据不是直接从数据库获得的原生数据,需要处理的数据,那你就自己处理。我这里导出的数据就是从数据库根据条件查出来的数据。

 /*** 查询全部白名单用户信息*/List<TabCommodityWhiteList> queryWhiteList();

编写mapper.xml文件中的sql语句

<select id="queryWhiteList" resultMap="whiteListResultMap">select  id,commodity_id,user_id,user_name,phone_no,user_level,logic_delete,create_time,update_time,create_by,update_byfrom  tab_commodity_whitelistwhere logic_delete=0</select>

到这里,后端的事就全部搞定了。前端调用这个接口之后,就会在页面生成一个附件文件,以excel的形式存在,前端只要做简单的处理就能下载了。
说明:我这就是一个很标准的excel批量导出的代码,如果您看到了我的代码,各个层的返回值数据类型不用变动,您只需要改变service层的,您需要封装多少列,每列的标题以及数据,改变这些代码,以及您的数据来源,其他的基本就不用动了。祝您早日完成工作。

如何批量导出数据到excel并下载,看这一篇就够了,一看就会相关推荐

  1. c#使用NPOI批量导出数据到excel表格里

    背景 我之前是做的Java开发的相关工作,c#开发还是第一次. 公司有这个需求,只好研究一下了. 我接手的是别人开发过两个报表的小玩意,万事开头难,刚开始为了搞清楚这些代码的意思走了不少弯路,下面说说 ...

  2. php批量导出excel表格,PHP批量导出数据为excel表格

    之前用插件phoexcel写过批量导入数据,现在用到了批量导出,就记录一下,这次批量导出没用插件,是写出一个表格,直接输出 //$teacherList 是从数据库查出来的二维数组 $execlnam ...

  3. jfinal框架批量导出数据到Excel

    1.配置controller public void export(){         Map<String, String[]> searchMap = new HashMap< ...

  4. django 导出数据到excel表 导出excel表到目标路径及客户端下载

    python导出excel表利用的是xlwt模块 学习的网址 大佬教学网址 导出数据到excel表 下面是代码 import os from xlwt import Workbook from inf ...

  5. CATIA批量导入导出数据到EXCEL

    CATIA批量导入导出数据到EXCEL 序言 一.EXCEL数据点批量导入到CATIA 二.CATIA数据点批量导入到EXCEL 三.VB批量输出点到EXCEL 序言 工作中,由于测量基准和建模基准不 ...

  6. html中文本信息导出表格中,大量word填写的表格资料,如何批量提取数据到Excel表里?...

    大量word填写的表格资料,要批量提取数据到Excel表里,一页对应一行,首先看一下这个word本身是什么来源的,大致可以分以下2种情况来处理. 一.网上直接生成的带html标记的word文件 如一些 ...

  7. Java使用poi导出数据到excel(包括xls和xlsx两种格式)并通过浏览器下载

    情景:将数据导出到excel是java开发常用的功能,数据量不大的时候,xls和xlsx两种格式的文件都行,但是数据量太大的时候就有区别了,xls格式的文件一个sheet页最多只能存六万多条数据,而x ...

  8. JS 打印 data数据_小程序导出数据到excel表

    小程序导出数据到excel表,借助云开发后台实现excel数据的保存 我们在开发小程序的过程中,可能会有这样的需求:如何将云数据库里的数据批量导出到excel表里? 这个需求可以用强大的云开发轻松实现 ...

  9. php上传和导出excel文件,(进阶篇)使用PHP导入Excel和导出数据为Excel文件

    有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入. 1.导入XLS PHP-ExcelReader这是一个 ...

  10. java导出为excel文件_java导出数据到excel文件

    有的时候,将一些有用的数据导出到excel是很有必要的.比如说,我现在在做一个学校的在线教学平台,有一个需求是:将学生成绩导出到excel文件中去. 那怎样实现用java导出数据到excel文件呢?? ...

最新文章

  1. LeetCode简单题之设计 Goal 解析器
  2. linux 普通用户 mysql_Linux普通用户部署mysql
  3. 趣谈深度学习核心----激活函数
  4. 2019第十届蓝桥杯C/C++ A组省赛 —— 第四题:迷宫
  5. java synchronized块_Java多线程同步代码块Synchronized
  6. 爬虫第四篇:html解析之xpath
  7. 关于HTML Button点击自动刷新页面的问题解决
  8. [leetcode] Palindrome Number 回文数判断
  9. 常用JS积累之获取节点高度(基于浏览器)
  10. 看似简单的hashCode和equals面试题,竟然有这么多坑!
  11. virtualenv 安装及使用[转]
  12. C程序设计(谭浩强著 第五版)——第一章 程序设计和C语言
  13. 原来这些手机技巧这么好用!以前还不知道,今天领教了
  14. sql sever还原失败:无法覆盖文件,数据库 'XX' 正在使用该文件”的问题
  15. android平板电脑系统安装程序,小编教你安装安卓平板win 10 1809电脑软件
  16. Scratch编程与数学之求累加和!
  17. 护照、身份证识别阅读器
  18. 后期维特根斯坦的语境观“:语言游戏”与“生活形式”
  19. java入门编程之个人通讯录管理系统
  20. 初识SafetyNet简要梳理

热门文章

  1. 使用Xshell重启远程服务器指令
  2. 安卓开发者模式中将最小dp调得太高导致无法开机的解决方法
  3. Css实现雷达扫描动画效果
  4. OsgEarth下实现雷达波束扫描飞机动画
  5. 求长方形和正方形的面积
  6. 进销存管理系统搭建流程
  7. 怎么把kux格式转换成mp4?完美转换优酷kux格式
  8. 一键识别图片中的表格数据,并转为Excel
  9. hive用源生函数实现根据身份证计算年龄
  10. Python中的二维数组定义