vue项目中导出带合并元格的表格

首先安装插件

npm install xlsx
或者
yarn add xlsx

其次导入 也可以全局引入

import XLSX from 'xlsx'

然后 可以写个函数将里面内容填入

var aoa = [
          [
            '羊别', 
            '阶段', 
            '昨日存栏', 
            '出生数', 
            '调入', 
            '购入数', 
            '转入数', 
            '死亡数', 
            '销售数', 
            '调出', 
            '转出数', 
            '今日存栏', 
            '备注'
            ], // 特别注意合并的地方后面预留2个null
          [
            '哺乳羔羊', 
            '(—0-2月龄)', 
            '27523', 
            '480', 
            '0', 
            '0', 
            '0', 
            '0', 
            '0', 
            '29', 
            '0', 
            '27894', 
            ''
            ], // 特别注意合并的地方后面预留2个null
          [
            '育成母羊', 
            '3月龄', 
            '1425', 
            '4687', 
            '44', 
            '1', 
            '22', 
            '55', 
            '6', 
            '88', 
            '7', 
            '464', 
            ''
            ], // 特别注意合并的地方后面预留2个null
          [
            null, 
            '3月龄', 
            '1425', 
            '4687', 
            '44', 
            '1', 
            '22', 
            '55', 
            '6', 
            '88', 
            '7', 
            '464', 
            ''
            ], // 特别注意合并的地方后面预留2个null
          [
            null, 
            '3月龄', 
            '1425', 
            '4687', 
            '44', 
            '1', 
            '22', 
            '55', 
            '6', 
            '88', 
            '7', 
            '464', 
            ''
            ], // 特别注意合并的地方后面预留2个null
          [
            null, 
            '3月龄', 
            '1425', 
            '4687', 
            '44', 
            '1', 
            '22', 
            '55', 
            '6', 
            '88', 
            '7', 
            '464', 
            ''
            ], // 特别注意合并的地方后面预留2个null
          [
            '育肥羊', 
            '3月龄', 
            '1425', 
            '4687', 
            '44', 
            '1', 
            '22', 
            '55', 
            '6', 
            '88', 
            '7', 
            '464', 
            ''
            ], // 特别注意合并的地方后面预留2个null
          [
            null, 
            '3月龄', 
            '1425', 
            '4687', 
            '44', 
            '1', 
            '22', 
            '55', 
            '6', 
            '88', 
            '7', 
            '464', 
            ''
            ], // 特别注意合并的地方后面预留2个null
          [
            null, 
            '3月龄', 
            '1425', 
            '4687', 
            '44', 
            '1', 
            '22', 
            '55', 
            '6', 
            '88', 
            '7', 
            '464', 
            ''
            ], // 特别注意合并的地方后面预留2个null
          [
            null, 
            '3月龄', 
            '1425', 
            '4687', 
            '44', 
            '1', 
            '22', 
            '55', 
            '6', 
            '88', 
            '7', 
            '464', 
            ''
            ], // 特别注意合并的地方后面预留2个null
          [
            '青年母羊', 
            '3月龄', 
            '1425', 
            '4687', 
            '44', 
            '1', 
            '22', 
            '55', 
            '6', 
            '88', 
            '7', 
            '464', 
            ''
            ], // 特别注意合并的地方后面预留2个null
      ];
      
      const filename='导出合并单元格的表格.xlsx'
      // Excel第一个sheet的名称
      const ws_name = 'Sheet1'
      const wb = XLSX.utils.book_new()
      const ws = XLSX.utils.aoa_to_sheet(aoa)
      ws['!merges'] = [
        // 设置A1-C1的单元格合并
        {s: {r: 2, c: 0}, e: {r: 5, c: 0}},
        {s: {r: 6, c: 0}, e: {r: 9, c: 0}},
      ]
      XLSX.utils.book_append_sheet(wb, ws, ws_name) // 将数据添加到工作薄
      XLSX.writeFile(wb, filename) // 导出Excel
    },
```触发这个事件就可以下载表格了 如果后端给的数据注意留空格的用null占位,(其中s表示合并单元格,r是列,c是行,数据从0开始为第一个(个人见解))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值