Angular + xlsx + xlsx-js-style实现多个sheel页Excel下载

需求:前端实现将后台返回的数组数据转化为多页excel,并自定义样式

使用组件

1、xlsx
2、xlsx-js-style(官方:https://www.npmjs.com/package/xlsx-js-style)

xlsx这个插件可以把html中的table元素或者json数据转换成表格后进行导出

常用方法 参数 说明
book_new - 创建一个空的book
table_to_book table元素(dom) 将table元素转换成 book
table_to_sheet table元素(dom) 将table元素转换成 sheet
json_to_sheet json数据(数组) 将json数据转换成 sheet
book_append_sheet 参数1:book对象,参数2:sheet对象,参数3:sheet名称 将sheet添加到book中
writeFile 参数1:book对象,参数2:导出的文件名称 导出表格文件

本来准备使用 xlsx-style,但引入会报很多错,找到xlsx-js-style组件代替,使用方法相同

一、安装依赖

npm install xlsx --save
npm install file-saver --save
//样式组件
npm install xlsx-js-style

二、代码

//html
<button (click)="handleOk()">下载</button>

//ts
import * as XLSX from 'xlsx/xlsx.mjs';
var FileSaver = require('file-saver');
import * as XLSXStyle from 'xlsx-js-style';

// 下载excel
  exportFile(): void {
   
    //生成excel表的数据[{},...{}],每个对象代表一行,key值代表列名
    let json1: any = []
    //数组
    this.DataArr1
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值