java: springboot+elementui导出功能模板

前端代码:

1.js公共方法

 /*** 导出Excel调用公共方法* @param url 导出Excel的业务接口地址* @param ids 需要导出的业务id集合*/exportExcel: function (url,ids) {var form = document.createElement('form')form.style.display = 'none'form.action =项目路径+url;form.method='post'document.body.appendChild(form)//动态创建input并给value赋值var input= document.createElement('input');input.type='hidden';input.name='ids';input.value=ids;form.appendChild(input);form.submit()form.remove()},

2.调用

<script>import commonJs from "@/pages/opinion/utils/common.js"//方法methods: {exportTestPoint: function () {let _this = this;let message = "确定导出所选数据?";if (_this.selectIds.length == 0) {return this.$message.warning("请选择需要导出的数据!");}//提示框this.$confirm(message, "提示", {confirmButtonText: "确认",cancelButtonText: "关闭",type: "warning",}).then(() => {//列表所选的idlet ids = _this.selectIds.join(",");commonJs.exportExcel("/api/testPoint/export", ids);});},}
</script>

后端代码

0.导出工具类

/*** @description: 导出Excel工具类* @author:YangYj* @Date: 2021/9/18 14:35*/
public class ExportExcelUtil {/*** 导出Excel* @param fileName 文件名称* @param titles 导出文件的标题* @param dataList 需要导出的数据集合* @return* @throws IOException*/public static ResponseEntity<byte[]> export(String fileName, String[] titles, List<Map<String, Object>> dataList) throws IOException {HSSFWorkbook workbook = new HSSFWorkbook();//创建一个Excel文件//创建Excel文档属性,必不可少。少了的话,getDocumentSummaryInformation()方法就会返回nullworkbook.createInformationProperties();DocumentSummaryInformation info = workbook.getDocumentSummaryInformation();info.setCategory(fileName);//设置文件名//设置文件中的日期格式HSSFCellStyle datecellStyle = workbook.createCellStyle();datecellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));//这个文件的日期格式和平时的不一样//创建表单HSSFSheet sheet = workbook.createSheet();HSSFRow r0 = sheet.createRow(0);//创建第一行int columnNum = titles.length;//===================创建标题行=============//HSSFCellStyle headStyle = getHeaderStyle(workbook);for (int i = 0; i < columnNum; i++) {HSSFCell cell = r0.createCell(i);// 创建列cell.setCellValue(titles[i]);cell.setCellStyle(headStyle);//设置标题行样式}for (int i = 0; i < dataList.size(); i++) {Map<String, Object> map = dataList.get(i);HSSFRow row = sheet.createRow(i + 1);for (int j = 0; j < columnNum; j++) {HSSFCell cell = row.createCell(j);cell.setCellValue(map.get(titles[j]) == null ? "" : map.get(titles[j]).toString());}}HttpHeaders headers = new HttpHeaders();headers.setContentDispositionFormData("attachment",new String((fileName+".xls").getBytes("UTF-8"), "iso-8859-1"));headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);ByteArrayOutputStream baos = new ByteArrayOutputStream();workbook.write(baos);ResponseEntity<byte[]> entity = new ResponseEntity<>(baos.toByteArray(), headers, HttpStatus.CREATED);baos.close();return entity;}/*** 表格标题样式*/private static HSSFCellStyle getHeaderStyle(HSSFWorkbook workbook) {// 设置字体HSSFFont font = workbook.createFont();// 设置字体大小font.setFontHeightInPoints((short) 11);// 设置字体颜色font.setColor(IndexedColors.AUTOMATIC.getIndex());// 字体加粗font.setBold(true);// 设置字体名字font.setFontName("黑体");// 设置样式HSSFCellStyle style = workbook.createCellStyle();// 设置标题背景色style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
//        // 设置背景颜色填充样式style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);// 设置低边框style.setBorderBottom(HSSFCellStyle.BORDER_THIN);// 设置低边框颜色style.setBottomBorderColor(IndexedColors.AUTOMATIC.getIndex());// 设置右边框style.setBorderRight(HSSFCellStyle.BORDER_THIN);// 设置顶边框style.setTopBorderColor(IndexedColors.AUTOMATIC.getIndex());// 设置顶边框颜色style.setTopBorderColor(IndexedColors.AUTOMATIC.getIndex());// 在样式中应用设置的字体style.setFont(font);// 设置自动换行style.setWrapText(false);// 设置水平对齐的样式为居中对齐;style.setAlignment(HSSFCellStyle.ALIGN_CENTER);style.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);return style;}}

1.controller

/*** 导出excel* ResponseEntity里面装了所有响应的数据*/@PostMapping("/export")@ResponseBodypublic ResponseEntity<byte[]> exportExcel(HttpServletResponse response, @RequestParam String ids) throws IOException {String[] idsArray = ids.split(",");List<String> idList = Arrays.asList(idsArray);//数据的查询方法List<TestPointBase> dataList = this.service.findAllByIds(idList);String title[] = {"编号", "名称", "专业代号", "专业名称", "动作代号", "动作名称", "试验目的","试验方法"};return ExportExcelUtil.export("表名", title, this.findExportDataMapFromList(dataList));}/*** 将查询出的要导出为excel的数据进行封装,方便进行excel导出*/public List<Map<String, Object>> findExportDataMapFromList(List<TestPointBase> parametersList) {List<Map<String, Object>> exportList = new ArrayList<>();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");if (null != parametersList && parametersList.size() > 0) {for (TestPointBase data : parametersList) {Map<String, Object> map = new HashedMap();String title[] = {"", "", "", "", "", "", "", "", "","", "",""};map.put("编号", data.getNumber());map.put("名称", data.getName());map.put("专业代号", data.getFirstSpecialtyNumber());map.put("专业名称", data.getFirstSpecialtyName());map.put("动作代号", data.getActionNumber());map.put("动作名称", data.getActionName());map.put("试验目的", data.getPurpose());map.put("试验方法", data.getResult());exportList.add(map);}}return exportList;}

java: springboot+elementui导出功能模板相关推荐

  1. java 实现excel 导出功能

    实现功能:java导出excel表 1.jsp代码 1 <form id="zhanwForm" action="<%=path%>/conferenc ...

  2. java实现excel导出功能

    导出的是xls版本的excel,用的是HSSFWorkbook,想导出xlsx的就用XSSFWorkbook,模板自己提前准备好 用到的依赖 <dependency><groupId ...

  3. java springboot easypoi 根据word模板生成对应的word并下载

    生成word如图 访问接口地址即可下载 具体操作如下 第一步:创建word模板 word模板如下,需要和java代码map值一一对应. 第二步:引入maven依赖 <dependency> ...

  4. java(springboot)实现闹钟功能(动态定时器)

    文章目录 前言 需求 总体流程 实现 写在最后 前言 项目中遇到一个延迟闹钟功能,谨以此篇博客和大家分享下. 需求 有个日程功能需要添加个闹钟提醒功能,可以设置一次提醒和多次提醒,并且可以设置提醒时间 ...

  5. Java实现PDF导出功能

    一.添加依赖 <dependency><groupId>com.lowagie</groupId><artifactId>itext</artif ...

  6. java实现Word 文档形式的导出功能

    关于在Java中实现导出功能,导出格式为Word文档导出,具体参考如下代码. 1 先准备好一个导出Word文档的模板. 例如: 将其存值地方用字段代替.例如: 2.打开doc文件后 ,文件中的另存为, ...

  7. 使用 EasyPoi 完成复杂一对多 excel 表格导出功能

    点击关注公众号,利用碎片时间学习 业务需求 从一个简单的仓库业务说起,仓库业务,会有进库记录,会有出库记录,会有库存,客户的需求就是需要一个库存盘点单,盘点单通俗来讲:将库存中每个商品的出入库记录都统 ...

  8. 基于java springboot美容美发美甲预约小程序源码

    最近忙于毕设,弄了一个美容美发美甲预约小程序 后台java springboot mybatis 具体功能如下

  9. 【开源】基于Java+SpringBoot+Vue+ElementUI的超市管理系统

    目录 系统背景 系统总体设计 运行环境 技术选型 系统架构 系统用例 系统详细设计 系统功能截图 首页统计 RBAC权限管理 商品管理 订单管理 销量统计 售后订单 收银系统 商品采购 供应商管理 采 ...

最新文章

  1. 在macOS 10.13.6下安装Grafana实录
  2. leetcode每日一题系列——787. K 站中转内最便宜的航班
  3. python学生管理系统界面-Python实现GUI学生信息管理系统
  4. oracle 自动补全函数,Oracle自我补充之trunc()函数的使用方法
  5. 【MATLAB】基本绘图 ( 绘制多图 | 设置图形对话框在 Windows 界面的位置和大小 | 在一个图形上绘制多个小图形 )
  6. How to Map Distinct Value Types Using Java Generics--reference
  7. [转载] Java中的静态方法不能被子类重写
  8. Java统计每个大写字母的个数
  9. 13.函数式编程:匿名函数、高阶函数、装饰器
  10. JAVA隐藏鼠标的方法
  11. RxJava菜鸟驿站(一)
  12. Robocopy命令实现文件服务器每日镜像备份/增量备份操作
  13. 实训流水账之day01—安装软件
  14. 网络和计算机加密驱动,如何解决笔记本电脑连接不上加密无线网络的问题
  15. 十分钟带你解读什么是Promise异步编程
  16. 随興8作者雨落下無痕
  17. apicloud常用方法总结
  18. 评分卡Bad rate单调性问题
  19. php yii2 ddd,Xunsearch SDK for PHP/yii2
  20. 浅谈数字媒体艺术中的技术应用-3-工具介绍(二)

热门文章

  1. 领域建模的思想和方法
  2. Home Inventory for Mac(家庭资产管理软件)
  3. 114 Three.js实现深度遮挡的下雨特效
  4. 教育平台项目后台管理系统:视频讲解
  5. 如何从iCloud中下载元气骑士存档
  6. 【计算机毕业设计】视频教学管理系统
  7. python 数据挖掘图书_Python数据科学熊猫图书馆终极指南
  8. a标签下载文件,js/jq创建a标签导出Excel文件
  9. 电子商务的整合之道--思践
  10. 小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!