You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SheetJS导出到现有xlsx时sheet_add_json传参报错如何解决?

错误原因

XLSX.utils.sheet_add_json 方法的设计用途是往已存在的工作表对象中追加JSON数据,第一个入参要求为XLSX.WorkSheet类型,你传入的字符串'test'不符合类型要求,因此触发类型报错。

解决方案

根据你的实际使用场景选择对应实现方式:

  • 如果你需要新建工作表写入JSON数据,替换为XLSX.utils.json_to_sheet方法即可,完整逻辑参考:
public exportInExcelFile(json: any[], excelFileName: string): void {
    // 直接从JSON生成新工作表
    const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);
    const workbook = XLSX.utils.book_new();
    // 第三个参数为工作表名称,可自定义为你需要的'test'
    XLSX.utils.book_append_sheet(workbook, worksheet, 'test');
    // 后续执行导出文件逻辑即可
    XLSX.writeFile(workbook, excelFileName + '.xlsx');
}
  • 如果你确实需要往现有xlsx文件的已有工作表里追加数据,先读取到对应工作表对象再传入,示例逻辑:
public exportInExcelFile(json: any[], excelFileName: string): void {
    // 先读取本地已有的xlsx文件
    const existingWorkbook = XLSX.readFile('你的现有文件路径.xlsx');
    // 拿到名称为'test'的已有工作表对象
    const existingWorksheet = existingWorkbook.Sheets['test'];
    // 往已有工作表追加数据,origin: -1 表示从现有数据末尾开始追加,skipHeader表示不重复写表头
    XLSX.utils.sheet_add_json(existingWorksheet, json, { skipHeader: true, origin: -1 });
    // 导出更新后的文件
    XLSX.writeFile(existingWorkbook, excelFileName + '.xlsx');
}

内容的提问来源于stack exchange,提问作者ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 11:24:04