react生成excel

本文介绍了如何使用JavaScript库XLSX和file-saver在Node.js中创建一个Excel模板,包括创建工作簿、工作表,以及将数据转换为Excel文件并保存为Blob对象供下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import * as XLSX from 'xlsx'
import { saveAs } from 'file-saver'; 

 const downloadTemplate = () => {
        // 创建Workbook
        const workbook = XLSX.utils.book_new();

        // 创建Worksheet
        const worksheet = XLSX.utils.aoa_to_sheet([
            ['地区', '通道类别', '_10度', '0度', '5度', '25度', '40度', '45度', '65度', '暂用', '拥有', '已使用', '剩余', '占用率'],
            // ['深圳', '5V/10A', '111', '10', '15', '13', '12', '11', '6', '5', '4', '3', '2', '0.5'],
            // ['广州', '20V/10A', '222', '100', '105', '103', '102', '101', '50', '94', '93', '92', '60', '0.15'],
        ]);

        // 将Worksheet添加到Workbook
        XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

        // 生成Excel文件的二进制数据
        const excelData = XLSX.write(workbook, { type: 'binary', bookType: 'xlsx' });

        // 转换二进制数据为Blob对象
        const excelBlob = new Blob([s2ab(excelData)], { type: 'application/octet-stream' });

        // 保存Excel文件
        saveAs(excelBlob, '通道资源原始数据-模板.xlsx');
    };

    // 字符串转ArrayBuffer
    const s2ab = (s) => {
        const buf = new ArrayBuffer(s.length);
        const view = new Uint8Array(buf);
        for (let i = 0; i < s.length; i++) {
            view[i] = s.charCodeAt(i) & 0xff;
        }
        return buf;
    };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值