elementUI vue2 前端表格table数据导出(二)

为啥前端导出不在赘述了,不然读者也难看到这篇文章。

第一步:安装依赖

复制代码
npm install vue-json-excel

第二步:引用依赖配置

复制代码
// 导出Excel文件组件
import JsonExcel from 'vue-json-excel';
Vue.component('downloadExcel', JsonExcel)

第三步:组件调用

复制代码
<download-excel :data='tableData' :fields='json_fields' :name='`${tableDataType}.xlsx`'>
  <el-button type='primary'>导出</el-button>
</download-excel>
  • tableData 是将要导出的表格数据,只要能渲染el-table,就不需要进行二次处理
  • tableDataType 是导出的Excel文件的文件名
  • json_fields 是将要导出的表格表头
javascript 复制代码
<script>
  export default {
  data () {
    return {
      tableData :[],    // 存放用于导出excel的数据
      json_fields: {
        学号: "student_id",    //常规字段
        姓名: "student_name", //支持嵌套属性
        专业班级: "student_majorclass",
        成绩: "student_score",
        特长: "specialty",
        一轮笔试: "firstexam_score",
        一轮状态: "first_ispass",
        一轮面试:"interview_score",
        一面状态:"interview",
        二轮面试:"secondinterview_score",
        二面状态:"secondinterview"
      }
    }
  },
</script>

json_fields也可以使用动态配置

javascript 复制代码
// 动态配置导出Excel文件的表头
exportExcelHeader() {
   this.json_fields = {};
   this.tableFilterData.forEach(e => {
     this.json_fields[e.label] = e.prop;
   });
 },

动态配置参考

javascript 复制代码
      columnConfigs: {
        priceData: [
          // 库存数据列配置
          { label: "商品名称", prop: "ItemName" },
          { label: "规格", prop: "ItemGG" },
          { label: "单价", prop: "UnitPrice" },
          { label: "日环比", prop: "HBPrice" },
        ],
javascript 复制代码
tableFilterData = [
  { label: '字段1', prop: 'rsName' },
  { label: '字段2', prop: 'rsCode' },
]
相关推荐
我是若尘43 分钟前
用 Git Worktree 同时开多个需求,不用来回 stash
前端
IT_陈寒1 小时前
Vue的v-for为什么不加key也能工作?我差点翻车
前端·人工智能·后端
小碗羊肉1 小时前
【JavaWeb | 第十二篇】项目实战——登录功能
java·前端·数据库
一个处女座的程序猿O(∩_∩)O1 小时前
如何保持nginx配置与前端打包dist的路径保持一致、解决页面刷新白屏以及页面跳转问题
运维·前端·nginx
十有八七2 小时前
AI 开发,本质是一场文档的生命周期管理
前端·人工智能
Hyyy2 小时前
普通前端自救记录——第0周
前端
前端若水3 小时前
在 Vue 2 与 Vue 3 中使用 markdown-it-vue 渲染 Markdown 和数学公式
前端·javascript·vue.js
之歆3 小时前
DAY_10 JavaScript 深度解析:原型链 · 引用类型 · 内置对象 · 数组方法全攻略(下)
开发语言·前端·javascript·ecmascript
行星飞行3 小时前
从 cursor 、 Claude code 迁移到 codex,30 分钟快速上手 codex 常用技巧
前端
Pu_Nine_93 小时前
前端埋点从入门到企业实践:手写一个Demo + 主流方案对比
前端·埋点