将后台返回的表格数据转成Excel表格实现点击下载

 插件文档NodeJS | SheetJS Community Edition

 1. 安装依赖

npm i --save https://cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz

2.导入

import { utils, writeFileXLSX } from 'xlsx'

3.使用

async exportToExcel() {
  // 获取要导出的业务数据
  const res = await API(params) //接口请求函数
  // 表头英文字段key,就是表格数据的键名
  const tableHeaderKeys = ['one', 'two', 'three', 'four', 'five']
  // 表头中文字段value,想要展示的中文
  const tableHeaderValues = ['一', '二', '三', '四', '五']
  // 以excel表格的顺序调整后端数据
  const sheetData = res.data.rows.map((item) => {
    const obj = {}
    tableHeaderKeys.forEach(key => {
      obj[key] = item[key]
    })
    return obj
  })
  // 创建一个工作表
  const worksheet = utils.json_to_sheet(sheetData)
  // 创建一个新的工作簿
  const workbook = utils.book_new()
  // 把工作表添加到工作簿
  utils.book_append_sheet(workbook, worksheet, 'Data')
  // 改写表头
  utils.sheet_add_aoa(worksheet, [tableHeaderValues], { origin: 'A1' })
  writeFileXLSX(workbook, '自定义表格名称.xlsx')
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值