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;
    }

相关推荐
丁总学Java1 小时前
微信小程序,点击bindtap事件后,没有跳转到详情页,有可能是app.json中没有正确配置页面路径
微信小程序·小程序·json
一名技术极客1 小时前
Vue2 doc、excel、pdf、ppt、txt、图片以及视频等在线预览
pdf·powerpoint·excel·文件在线预览
用余生去守护2 小时前
【反射率】-- Lab 转换(excel)
excel
进击的六角龙2 小时前
Python中处理Excel的基本概念(如工作簿、工作表等)
开发语言·python·excel
TracyDemo2 小时前
excel功能
excel
lc寒曦2 小时前
【VBA实战】用Excel制作排序算法动画
排序算法·excel·vba
zzzgd8162 小时前
easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头
java·excel·表格·easyexcel·导入导出
努力学习技能的LY2 小时前
Excel:vba实现批量插入图片批注
excel
Mephisto.java3 小时前
【大数据学习 | kafka高级部分】kafka的kraft集群
大数据·sql·oracle·kafka·json·hbase
Mephisto.java3 小时前
【大数据学习 | kafka高级部分】kafka的文件存储原理
大数据·sql·oracle·kafka·json