xlsx xlsx-style file-saver 导出json数据到excel文件并设置标题字体加粗

  • xlsx:用于处理Excel文件。

  • xlsx-style:用于添加样式到Excel文件中。

  • file-saver:用于将生成的Excel文件保存到用户的计算机上

    npm install xlsx xlsx-style file-saver

    // 导入所需库
    const XLSX = require('xlsx');
    const XLSXStyle = require('xlsx-style');
    const FileSaver = require('file-saver');

    // 示例JSON数据
    const jsonData = [
    { name: 'Alice', age: 25 },
    { name: 'Bob', age: 30 },
    { name: 'Charlie', age: 28 }
    ];

    // 创建一个工作簿
    const wb = XLSX.utils.book_new();
    const wsName = 'Sheet1';

    // 将JSON数据转换为工作表
    const ws = XLSX.utils.json_to_sheet(jsonData, { header: ['name', 'age'] });

    // 设置标题字体样式
    const titleCellStyle = { font: { bold: true } };
    ws[XLSX.utils.encode_cell({ r: 0, c: 0 })].s = titleCellStyle;

    // 将工作表添加到工作簿
    XLSX.utils.book_append_sheet(wb, ws, wsName);

    // 将工作簿转换为二进制数据
    const wbout = XLSXStyle.write(wb, { bookType: 'xlsx', bookSST: false, type: 'binary' });

    // 将二进制数据保存为Excel文件
    const blob = new Blob([s2ab(wbout)], { type: 'application/octet-stream' });
    FileSaver.saveAs(blob, 'data.xlsx');

    // 辅助函数:将字符串转换为ArrayBuffer
    function 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;
    }

相关推荐
ward RINL7 小时前
WorkBuddy 自定义模型配置踩坑记录:models.json、/v1、API Key 一次讲清楚
json
m0_738120727 小时前
渗透测试基础——一文详解JSONP跨域劫持漏洞原理与利用
服务器·安全·web安全·json
Super Scraper10 小时前
如何使用 cURL 发送 JSON:-d、--json 及常见错误的完整指南
人工智能·爬虫·python·自动化·json·mcp
Jun62611 小时前
QT(4)-EXCEL操作
开发语言·qt·excel
●VON13 小时前
AtomGit Flutter鸿蒙客户端:安全JSON解析
安全·flutter·华为·json·harmonyos·鸿蒙
2501_9071368214 小时前
Excel文件强效安全修复工具-清理安全风险 可修复WPS编辑后Excel无法打开的文件
excel·wps
一位代码15 小时前
Excel 文本连接符 & :基础用法与进阶技巧详解
excel
焱文81915 小时前
wps excel指定数据区域,二维码生成区域,批量生成单元格二维码VBA宏代码
excel·wps
夏天里的肥宅水15 小时前
EXCEL生成日历
excel
加号31 天前
【C#】 JSON 序列化与反序列化:从入门到最佳实践
c#·json