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

相关推荐
ShiXZ2139 小时前
PDF-OCR文件识别篇(七):数据入库
java·pdf·json·ocr·springboot
bloxed13 小时前
大模型应用-筑基期【11:JSON结构化输出实战】
json·大模型应用
许彰午14 小时前
74_Python自动化办公之Excel操作
python·自动化·excel
E_ICEBLUE19 小时前
在 Python 中快速锁定 Excel 单元格与行列
python·安全·excel
Venuslite7 天前
从 Unexpected token < 到 Extra data:一次讲清 JSON 解析错误的排查思路
json
疯狂SQL13 天前
手写高性能在线 JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
typescript·json·next.js·web worker·前端性能优化·esbuild·源码实战
Non-existent98717 天前
WPS批量清理单元格空白字符的4种方法-异常数字格式处理-实战
excel·wps
Channing Lewis18 天前
PHP 解析 Excel 的那些坑:一次“行号错位”引发的数据丢失
开发语言·php·excel
jarreyer18 天前
【数据分析绘图】excel绘图和bi工具区别
数据挖掘·数据分析·excel
chatexcel18 天前
ChatExcel Max使用教程:图片、PDF、网页与复杂Excel的一站式数据分析
数据分析·pdf·excel