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

JSON导出Excel异常求助:仅表头填充,数据未导出

解决方案

1. 先预处理数据

你的原始JSON是分散的Result和Temp对象,没法直接按行导出,得先把数据整理成对应结构:

// 假设原始数据存在rawData数组里
// 提取所有Result值
const resultList = rawData.filter(item => item.Result !== undefined).map(item => item.Result);
// 提取所有Temp值
const tempList = rawData.filter(item => item.Temp !== undefined).map(item => item.Temp);

// 如果Result和Temp是按顺序一一对应的,合并成行对象数组(适配多数导出工具的要求)
const formattedData = resultList.map((res, idx) => ({
  Result: res,
  Temp: tempList[idx]
}));

2. 调整导出逻辑(以SheetJS为例)

如果用SheetJS库,直接构造工作表数据就能按要求填充:

// 构造表头+数据的二维数组
const sheetData = [
  ['Result', 'Temp'], // A1、B1表头
  ...resultList.map((val, idx) => [val, tempList[idx]]) // 从A2、B2开始填充数据
];

// 创建工作簿并导出
const workbook = XLSX.utils.book_new();
const worksheet = XLSX.utils.aoa_to_sheet(sheetData);
XLSX.utils.book_append_sheet(workbook, worksheet, 'DataSheet');
XLSX.writeFile(workbook, 'exported_data.xlsx');

3. 针对你提到的参数调整

如果用的是自定义的exportUsersToExcel方法:

  • 把orderInputArray设为['Result', 'Temp'],只保留需要的两列表头,去掉多余的C、D列定义
  • 第一个参数传入上面的formattedData(合并后的行对象数组),而不是原始的分散对象数组
  • 若方法支持按列配置,直接传入resultList和tempList,指定列起始行为2

排查要点

  • 用console.log(resultList.length)确认是否提取到320个Result值,避免过滤或映射逻辑出错
  • 检查之前的表头配置,删掉多余的C、D列定义,只保留Result和Temp
  • 确认导出方法是否支持二维数组(AOA)格式,若仅支持对象数组,必须用合并后的formattedData

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:22:17