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

如何调整Google Sheets格式使其导出JSON匹配Firebase现有格式

Google Sheets导出匹配Firebase格式JSON操作步骤

核心问题说明

之前导出格式不匹配的根本原因有两个:一是表格表头没有和Firebase字段一一对应,二是通用导出脚本生成的是数组结构,和Firebase需要的键值对对象结构不兼容,按下面的步骤调整后可以直接导出可导入的文件,不需要手动修改JSON内容。

步骤1:调整表格列结构

打开语录表格,把第一行表头严格按以下规则设置,不要留多余列、不要使用合并单元格:

  • A列:列头留空,该列存储每条语录的唯一ID。不想手动输入的话,直接在A2单元格填入公式=LOWER(CONCATENATE(DEC2HEX(RANDBETWEEN(0,4294967295),8),DEC2HEX(RANDBETWEEN(0,4294967295),8))),下拉到所有数据行,就能自动生成和Firebase原生ID格式完全一致的20位十六进制ID,不会出现重复。
  • B列:列头填content,列内每行对应填入单条语录的正文内容。
  • C列:列头填author,列内每行对应填入该条语录的作者信息。
  • D列:列头填source,列内每行对应填入语录出处,没有出处的单元格直接留空即可。

步骤2:替换导出脚本

之前用的通用导出脚本不匹配Firebase结构,直接替换成定制版本:

  1. 打开表格顶部菜单栏「扩展程序」-「Apps脚本」,删除编辑器里原有所有代码
  2. 粘贴以下代码:
function exportToFirebaseJson() {
  const activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const allData = activeSheet.getDataRange().getValues();
  // 初始化Firebase要求的根结构
  const exportResult = {
    quotes: {}
  };
  // 跳过表头行,从第二行开始遍历数据
  for (let i = 1; i < allData.length; i++) {
    const currentRow = allData[i];
    const entryId = currentRow[0];
    // 跳过ID为空的无效行
    if (!entryId) continue;
    // 按字段映射组装单条语录数据,空值自动补空字符串避免字段缺失
    exportResult.quotes[entryId] = {
      content: currentRow[1] || "",
      author: currentRow[2] || "",
      source: currentRow[3] || ""
    };
  }
  // 生成格式化的带缩进JSON,方便检查
  const jsonString = JSON.stringify(exportResult, null, 2);
  // 导出文件到谷歌云盘根目录
  DriveApp.createFile("firebase-quotes-import.json", jsonString, MimeType.PLAIN_TEXT);
  // 日志区同步打印结果,可直接复制
  Logger.log(jsonString);
}
  1. 点击编辑器顶部的保存按钮,给项目随便起个名字比如「Firebase导出工具」保存即可。

步骤3:导出验证

  1. 选中脚本编辑器顶部的函数下拉框,选择exportToFirebaseJson,点击运行按钮
  2. 第一次运行会弹出授权提示,按页面提示完成谷歌账号授权即可(脚本只操作你自己的表格数据,不会对外传输)
  3. 运行完成后,要么在编辑器的日志区直接复制生成的JSON内容,要么打开谷歌云盘根目录,找到生成的firebase-quotes-import.json文件
  4. 导出的JSON结构和现有Firebase数据库结构完全一致,可以直接导入使用,不需要手动调整字段。

注意事项

  • 不要在数据区域内插入多余列、加备注行或者合并单元格,否则会导致导出的JSON出现多余字段
  • 后续新增语录时,直接在表格已有数据下方新增行,A列的ID公式下拉填充即可,重新运行脚本就能生成包含新内容的JSON文件
  • 如果需要调整字段,直接修改脚本里的字段映射和表格列头即可,不要改动核心结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 02:36:32