xlsx前端数据导出excel

138 阅读1分钟

xlsx前端数据导出excel

1. 安装

npm install xlsx --save

2. 引入

import * as XLSX from 'xlsx';

3. 使用

这里数据为二维数组,利用 aoa_to_sheet 创建sheet对象。

也可以使用数组对象,利用 json_to_sheet 创建sheet对象

e.g. [ {'姓名': '张三', '年龄': 12}, {'姓名': '李四', '年龄': 14} ]

e.g.

    // 页面表格渲染数据
    // 准备要导出的数据(二维数组)
    const tableData = 
    [
         ['编号', '交付日期', '故障率(%)', '使用时间(天)']
        ['tc001', '2024-03-09', 0.129, 5],
        ['tp046', '2024-02-24', 0.213, 24],
        ['tw097', '2024-03-29', 0.626, 9],
        ['th046', '2024-04-07', 0.374, 76],
    ]

    exportExcel(tableData)
    // 导出Excel
    function exportExcel(data) {

        // 创建sheet对象
        const ws = XLSX.utils.aoa_to_sheet(data)
        // 创建一个工作薄
        const wb = XLSX.utils.book_new()
        // 将sheet对象放入到工作薄
        XLSX.utils.book_append_sheet(wb, ws, 'Sheet1')

        // 设置每列宽度为15字符
        const widthArr = []
        for(let i = 0; i < theadArr.length; i++) {
            widthArr.push({ wch: 15 })
        }

        ws["!cols"] = widthArr;

        // 导出Excel文件  
        XLSX.writeFile(wb,'sheet.xlsx') // sheet.xlsx 为文件名

    }

sheetJs官网

参考