一 后端代码

1 创建 excel 的导出实体

package com.baiyee.sdgt.vo.cmn;import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;/**
* @className: DictEeVo
* @description: 用于导入和导出excel
* @date: 2021/10/12
* @author: cakin
*/
@Data
public class DictEeVo {@ExcelProperty(value = "id", index = 0)private Long id;@ExcelProperty(value = "上级id", index = 1)private Long parentId;@ExcelProperty(value = "名称", index = 2)private String name;@ExcelProperty(value = "值", index = 3)private String value;@ExcelProperty(value = "编码", index = 4)private String dictCode;
}

2 导出接口

// 导出数据字典接口
void exportDictData(HttpServletResponse response);

3 实现类

// 导出数据字典接口
@Override
public void exportDictData(HttpServletResponse response) {//设置下载信息response.setContentType("application/vnd.ms-excel");response.setCharacterEncoding("utf-8");String fileName = "dict";response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");// 查询数据库List<Dict> dictList = baseMapper.selectList(null);// Dict -- DictEeVoList<DictEeVo> dictVoList = new ArrayList<>();for (Dict dict : dictList) {DictEeVo dictEeVo = new DictEeVo();// dictEeVo.setId(dict.getId());BeanUtils.copyProperties(dict, dictEeVo);dictVoList.add(dictEeVo);}// 调用方法进行写操作try {EasyExcel.write(response.getOutputStream(), DictEeVo.class).sheet("dict").doWrite(dictVoList);} catch (IOException e) {e.printStackTrace();}
}

4 控制器

// 导出数据字典接口
@GetMapping("exportData")
public void exportDict(HttpServletResponse response) {dictService.exportDictData(response);
}

二 前端页面

<template><div class="app-container"><!-- 导出功能 --><div class="el-toolbar"><div class="el-toolbar-body" style="justify-content: flex-start;"><el-button type="text" @click="exportData"><i class="fa fa-plus" /> 导出</el-button></div></div><!-- 列表功能 --><el-table:data="list"style="width: 100%"row-key="id"borderlazy:load="getChildrens":tree-props="{children: 'children', hasChildren: 'hasChildren'}"><el-table-column label="名称" width="230" align="left"><template slot-scope="scope"><span>{{ scope.row.name }}</span></template></el-table-column><el-table-column label="编码" width="220"><template slot-scope="{row}">{{ row.dictCode }}</template></el-table-column><el-table-column label="值" width="230" align="left"><template slot-scope="scope"><span>{{ scope.row.value }}</span></template></el-table-column><el-table-column label="创建时间" align="center"><template slot-scope="scope"><span>{{ scope.row.createTime }}</span></template></el-table-column></el-table></div>
</template><script>
import dict from "@/api/dict";
export default {data() {return {list: [] //数据字典列表数组};},created() {this.getDictList(1);},methods: {// 数据字典列表getDictList(id) {dict.dictList(id).then(response => {this.list = response.data;});},getChildrens(tree, treeNode, resolve) {dict.dictList(tree.id).then(response => {resolve(response.data);});},// 导出功能exportData() {window.location.href = "http://localhost:8202/admin/cmn/dict/exportData";}}
};
</script>

三 测试效果

点击导出后,可以正常导出

vue 实现 excel 的导出功能相关推荐

  1. VUE的Excel导入导出功能

    在做人力资源管理的后台项目时,实现了excel表的导入导出功能.用到了vue-element-admin提供的框架(链接地址 ),我们只需要在自己的项目中封装改造即可. 项目中实现excel表的导入与 ...

  2. SpringBoot中使用Easyexcel实现Excel导入导出功能(三)

    导出的数据包含有图片 导出excel表格的数据包含有图片,这种场景比较少.通Easyexcel实现这样的需求,我认为最简便的方法就是使用前面提到的自定义转换器(com.alibaba.excel.co ...

  3. SpringBoot中使用Easyexcel实现Excel导入导出功能(一)

    目录 前言 1.常规导入 2.读取到指定的列 3.读取全部的sheet页 4.日期.数字及其他自定义格式的转换 5.表头有多行的表格读取 6.表头数据的读取 7.单元格内的备注内容读取 前言 exce ...

  4. 如何优雅地实现 Excel 文件导出功能?(阿里出品的 EasyExcel,安利一波)

    EasyExcel 前言 导出是后台管理系统的常用功能,当数据量特别大的时候会内存溢出和卡顿页面,曾经自己封装过一个导出,POI百万级大数据量EXCEL导出 采用了分批查询数据来避免内存溢出和使用SX ...

  5. vue中实现Excel导入导出功能

    导入Excel功能 前置条件: 依赖包xlsx npm install xlsx -S 这里提供一个现成的在vue中导入Excel的功能(原作者-花裤衩),代码在最下面,可直接复制. 创建一个文件夹, ...

  6. 前端 - excel导入 / 导出功能

    1. 导入功能 1.1 前端主导(工作大量在前端) 上传excel文件,把excel文件的内容读出来,还原成最基本的行列结构,按后端的接口要求回传过去. 前端读excel文件,调接口 1.2 后端主导 ...

  7. @excel注解_惊了!如何通过阿里 EasyExcel 7 行代码, 优雅地实现 Excel 文件导出功能?...

    目录 一.前言 二.Apache poi.jxl 的缺陷 三.阿里出品的 EasyExcel,安利一波 四.EasyExcel 解决了什么 五.快速上手 六.特殊场景支持 七.Web 下载示例代码 八 ...

  8. linux脚本的数据输出到excel,使用shell实现Excel表格导出功能 | 剑花烟雨江南

    在Web项目中,我们经常会遇到Excel表格导出的功能,对于一些数据实时性要求不高的.逻辑相对简单的导出,是否可用通过shell脚本的方式来进行导出,从而降低开发成本呢? 我们都知道,CSV格式可以用 ...

  9. 7 行代码优雅地实现 Excel 文件导出功能?

    文章目录 一.前言 二.Apache poi.jxl 的缺陷 三.阿里出品的 EasyExcel,安利一波 四.EasyExcel 解决了什么 五.快速上手 5.1 添加依赖 5.2 七行代码搞定 E ...

最新文章

  1. android 读取asset下的文件注意事项
  2. 某内存池中的指针用法
  3. Android-Binder(一)
  4. CAD绘图软件中如何查询图纸的版本是多少
  5. php 如何将字体转为gb,利用php怎么将utf-8与GB2312相互转换
  6. 【机器学习】逻辑回归优化技巧总结(全)
  7. python 阿狸的进阶之路(4)
  8. c语言 把字符串转换为变量名_如何将抓取下来的unicode字符串转换为中文
  9. UBUNTU安装Android Studio 3
  10. 网络流(17/24)
  11. python-基础杂集
  12. DELL笔记本插入耳机没反应
  13. 2021湖北技能高考文化综合成绩查询,2021年湖北省技能高考文化综合考试大纲.pdf...
  14. php制作登录页面的过程_PHP实现简单登录界面
  15. 访客模式 无痕模式 区别_模式:访客模式
  16. ubuntu14.04 iso硬盘安装
  17. excel和matlab交互,Excel与Matlab的数据交互(精选5篇)
  18. MnTTS: 开源蒙古语语音合成数据集及其基线模型
  19. Hutool生成图片二维码 输出到前端
  20. 小米项目实习踩坑集合

热门文章

  1. MATLAB制作视频
  2. opencv相机参数处理
  3. 51单片机 - 基本的输入输出
  4. CMS推送,免费CMS推送,全平台CMS自动URL推送
  5. Creo导入电路生成的emn格式文件并编辑标注尺寸-提示不重新生成模型错误-解决
  6. mongodb启动显示Unclean shutdown detected.解决方法
  7. r75800h和r74800h的区别 r7 5800h和r7 4800h差多少
  8. locales的配置
  9. 如何创建虚拟机并装系统
  10. 编程极简入门(python)-07-批量处理