前端标准的表格下载成xls文件

7 篇文章 0 订阅
5 篇文章 0 订阅

前端经常需要吧表格的信息下载成xls文档,下载方法的封装直接看code

file-saver的git仓库:GitHub - eligrey/FileSaver.js: An HTML5 saveAs() FileSaver implementationAn HTML5 saveAs() FileSaver implementation. Contribute to eligrey/FileSaver.js development by creating an account on GitHub.https://github.com/eligrey/FileSaver.js

XLSX的仓库:GitHub - SheetJS/sheetjs: SheetJS Community Edition -- Spreadsheet Data Toolkit:green_book: SheetJS Community Edition -- Spreadsheet Data Toolkit - GitHub - SheetJS/sheetjs: SheetJS Community Edition -- Spreadsheet Data Toolkithttps://github.com/SheetJS/sheetjs

import FileSaver from 'file-saver';

import XLSX from 'xlsx';

interface downLoadType {
    title: string //表头
    headerRow: string[], //table的表头
    bodyRows: [string[]] //对应的每一行
}
export const onDownloadXlsx = (data: downLoadType) => {
    const { title = '', headerRow = [], bodyRows = [] } = data;

    const table = [
        [title],
        [], // 空行
        headerRow,
        ...bodyRows
    ];

    const workbook = XLSX.utils.book_new();
    const ws = XLSX.utils.aoa_to_sheet(table);
    XLSX.utils.book_append_sheet(workbook, ws, 'Sheet_1');

    const opts = { bookType: 'xlsx', bookSST: false, type: 'array' };
    const wbout = XLSX.write(workbook, opts as any);
    FileSaver.saveAs(new Blob([wbout], { type: "application/octet-stream" }), `${title}.xlsx`);

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值