如何批量导出数据到excel并下载,看这一篇就够了,一看就会
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并下载,看这一篇就够了,一看就会相关推荐
- c#使用NPOI批量导出数据到excel表格里
背景 我之前是做的Java开发的相关工作,c#开发还是第一次. 公司有这个需求,只好研究一下了. 我接手的是别人开发过两个报表的小玩意,万事开头难,刚开始为了搞清楚这些代码的意思走了不少弯路,下面说说 ...
- php批量导出excel表格,PHP批量导出数据为excel表格
之前用插件phoexcel写过批量导入数据,现在用到了批量导出,就记录一下,这次批量导出没用插件,是写出一个表格,直接输出 //$teacherList 是从数据库查出来的二维数组 $execlnam ...
- jfinal框架批量导出数据到Excel
1.配置controller public void export(){ Map<String, String[]> searchMap = new HashMap< ...
- django 导出数据到excel表 导出excel表到目标路径及客户端下载
python导出excel表利用的是xlwt模块 学习的网址 大佬教学网址 导出数据到excel表 下面是代码 import os from xlwt import Workbook from inf ...
- CATIA批量导入导出数据到EXCEL
CATIA批量导入导出数据到EXCEL 序言 一.EXCEL数据点批量导入到CATIA 二.CATIA数据点批量导入到EXCEL 三.VB批量输出点到EXCEL 序言 工作中,由于测量基准和建模基准不 ...
- html中文本信息导出表格中,大量word填写的表格资料,如何批量提取数据到Excel表里?...
大量word填写的表格资料,要批量提取数据到Excel表里,一页对应一行,首先看一下这个word本身是什么来源的,大致可以分以下2种情况来处理. 一.网上直接生成的带html标记的word文件 如一些 ...
- Java使用poi导出数据到excel(包括xls和xlsx两种格式)并通过浏览器下载
情景:将数据导出到excel是java开发常用的功能,数据量不大的时候,xls和xlsx两种格式的文件都行,但是数据量太大的时候就有区别了,xls格式的文件一个sheet页最多只能存六万多条数据,而x ...
- JS 打印 data数据_小程序导出数据到excel表
小程序导出数据到excel表,借助云开发后台实现excel数据的保存 我们在开发小程序的过程中,可能会有这样的需求:如何将云数据库里的数据批量导出到excel表里? 这个需求可以用强大的云开发轻松实现 ...
- php上传和导出excel文件,(进阶篇)使用PHP导入Excel和导出数据为Excel文件
有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入. 1.导入XLS PHP-ExcelReader这是一个 ...
- java导出为excel文件_java导出数据到excel文件
有的时候,将一些有用的数据导出到excel是很有必要的.比如说,我现在在做一个学校的在线教学平台,有一个需求是:将学生成绩导出到excel文件中去. 那怎样实现用java导出数据到excel文件呢?? ...
最新文章
- LeetCode简单题之设计 Goal 解析器
- linux 普通用户 mysql_Linux普通用户部署mysql
- 趣谈深度学习核心----激活函数
- 2019第十届蓝桥杯C/C++ A组省赛 —— 第四题:迷宫
- java synchronized块_Java多线程同步代码块Synchronized
- 爬虫第四篇:html解析之xpath
- 关于HTML Button点击自动刷新页面的问题解决
- [leetcode] Palindrome Number 回文数判断
- 常用JS积累之获取节点高度(基于浏览器)
- 看似简单的hashCode和equals面试题,竟然有这么多坑!
- virtualenv 安装及使用[转]
- C程序设计(谭浩强著 第五版)——第一章 程序设计和C语言
- 原来这些手机技巧这么好用!以前还不知道,今天领教了
- sql sever还原失败:无法覆盖文件,数据库 'XX' 正在使用该文件”的问题
- android平板电脑系统安装程序,小编教你安装安卓平板win 10 1809电脑软件
- Scratch编程与数学之求累加和!
- 护照、身份证识别阅读器
- 后期维特根斯坦的语境观“:语言游戏”与“生活形式”
- java入门编程之个人通讯录管理系统
- 初识SafetyNet简要梳理