vue2 实现表格信息导出的功能

 功能图:

通过点击按钮实现导出功能

 

 

main.js 导入

Vue.component('downloadExcel', JsonExcel)

导出按钮

        <download-excel style="float: right;margin-right: 210px"
                        class="export-btn"
                        :data="dicts"
                        :fields="jsonFields"
                        type="xls"
                        header="字典信息"
                        name="字典信息.xls"
        >
          <el-button type="warning" round size="mini" >导出</el-button>
        </download-excel>

Data

 data() {
    return {
      options: [{
        value: '0',
        label: '正常'
      }, {
        value: '1',
        label: '停用'
      }],
      dicts: [],
      dict: {},
      current: 1,
      total: 0,
      pageSize: 10,
      dialogFormVisible: false,
      formLabelWidth: "120px",
      username: null,
      dictName: "",
      dictType: "",
      dateTime: "", //开始日期+结束日期
      createTime: null,
      updateTime: null,
      value: "",//角色状态选中的值
      jsonFields: {  //导出Excel表格的表头设置
        '字典编号': 'dictId',
        '字典名称': 'dictName',
        '字典类型': 'dictType',
        '状态码': 'status',
        '创建者': 'createBy',
        '创建时间': 'createTime',
        '修改者': 'updateBy',
        '修改时间': 'updateTime',
        '备注': 'remark',
      },

导出按钮需要数据

dicts: [],
jsonFields: {  //导出Excel表格的表头设置
  '字典编号': 'dictId',
  '字典名称': 'dictName',
  '字典类型': 'dictType',
  '状态码': 'status',
  '创建者': 'createBy',
  '创建时间': 'createTime',
  '修改者': 'updateBy',
  '修改时间': 'updateTime',
  '备注': 'remark',
},

jsonFields规定表头,属性为dicts集合里的对象的属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要安装 `xlsx` 包来处理 Excel 文件的导出。你可以使用 npm 或者 yarn 来安装该包: ```bash npm install xlsx # 或者 yarn add xlsx ``` 接下来,在你的 Vue 组件中,你可以按照以下步骤导出 Excel 文件: 1. 导入 `xlsx` 包: ```javascript import XLSX from 'xlsx'; ``` 2. 创建一个处理导出的方法,例如 `exportExcel`: ```javascript exportExcel() { // 创建一个Workbook对象,用于存储Excel文件内容 const workbook = XLSX.utils.book_new(); // 创建一个Worksheet对象,用于存储工作表数据 const worksheet = XLSX.utils.json_to_sheet(this.data); // 将Worksheet对象添加到Workbook对象中 XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); // 将Workbook对象转换为二进制数据流 const excelData = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' }); // 创建Blob对象,并设置MIME类型为Excel文件 const blob = new Blob([excelData], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); // 创建下载链接,并设置相关属性 const url = URL.createObjectURL(blob); const link = document.createElement('a'); link.href = url; link.download = 'data.xlsx'; // 下载文件的名称 // 模拟点击下载链接进行文件下载 link.click(); // 释放URL对象 URL.revokeObjectURL(url); } ``` 3. 在你的模板中添加一个按钮或者其他触发导出的元素,并调用 `exportExcel` 方法: ```html <template> <div> <button @click="exportExcel">导出Excel</button> </div> </template> ``` 在上述代码中,`this.data` 是你要导出的数据,可以是一个数组或者其他格式的数据。`exportExcel` 方法将数据转换为 Excel 文件,并通过创建下载链接实现文件的下载。 希望以上步骤对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值