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

使用Google Apps Script将CSV指定行导入对应Google Sheet

按姓名拆分CSV行导入对应Google Sheet的实现方案

核心逻辑是直接通过Google Apps Script读取Drive内的CSV文件、解析为二维数组后按A列姓名匹配写入对应表,无需提前将CSV转为Google Sheet格式。

完整可运行代码

function importCsvRowsToPersonalSheets() {
  // 替换为你存储在Google Drive中的CSV文件ID
  const CSV_FILE_ID = "替换为你的CSV文件ID";
  // 替换为人员姓名与对应专属Google Sheet ID的映射关系
  const NAME_SHEET_MAP = {
    "John": "John的Google Sheet ID",
    "Mary": "Mary的Google Sheet ID",
    // 按实际需求补充更多人员映射
  };
  // 若CSV第一行为表头则填true,无表头则填false
  const HAS_HEADER = true;

  // 读取并解析CSV文件
  const csvFile = DriveApp.getFileById(CSV_FILE_ID);
  const csvText = csvFile.getBlob().getDataAsString();
  const rowData = Utilities.parseCsv(csvText);

  // 确定遍历起始行(跳过表头)
  const startIndex = HAS_HEADER ? 1 : 0;

  // 遍历行数据写入对应表
  for (let i = startIndex; i < rowData.length; i++) {
    const currentRow = rowData[i];
    const userName = currentRow[0];
    if (NAME_SHEET_MAP[userName]) {
      const targetSs = SpreadsheetApp.openById(NAME_SHEET_MAP[userName]);
      const targetSheet = targetSs.getActiveSheet();
      // 首次写入时自动添加表头
      if (i === startIndex && HAS_HEADER && targetSheet.getLastRow() === 0) {
        targetSheet.appendRow(rowData[0]);
      }
      targetSheet.appendRow(currentRow);
    }
  }
}

使用说明

  • 可在任意Google Sheets页面点击「扩展程序」-「Apps脚本」进入编辑器,粘贴上述代码后替换3处自定义参数即可运行。
  • 文件ID获取方式:打开Drive内的文件,URL中/d/和/edit之间的字符串即为文件ID。
  • 如需定时自动同步,可在Apps脚本编辑器左侧「触发器」栏添加时间驱动触发器,按需求设置同步频率。
  • 如需避免重复导入,可每次运行前先清空目标表内容,或额外增加导入状态标记逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:54:08