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

如何通过Google Sheets向Google Calendar添加日程事件

Google Sheets 数据批量生成 Google 日历事件脚本

你的表格列格式及示例记录如下:

Event TitleStart DateStart TimeEnd DateEnd TimeDescriptionTime Zone
TEST EVENT5/23/2024 Thu1:00 PM5/23/2024,Thu3:00 PMNAGMT +3

以下是实现批量创建日历事件的 Google Apps Script 代码:

function createCalendarEventsFromSheet() {
  // 获取当前活跃的表格
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // 读取所有数据,跳过第一行表头
  const data = sheet.getDataRange().getValues().slice(1);
  
  // 遍历每一行数据
  data.forEach(row => {
    const [eventTitle, startDateStr, startTimeStr, endDateStr, endTimeStr, description, timeZone] = row;
    
    // 跳过空行或关键信息缺失的行
    if (!eventTitle || !startDateStr || !startTimeStr) return;
    
    // 清理日期字符串:移除末尾的星期标识和多余逗号
    const cleanStartDate = startDateStr.replace(/(,)?\s*[A-Za-z]{3}$/, '').trim();
    const cleanEndDate = endDateStr.replace(/(,)?\s*[A-Za-z]{3}$/, '').trim();
    
    // 组合日期与时间字符串
    const startDateTimeStr = `${cleanStartDate} ${startTimeStr}`;
    const endDateTimeStr = `${cleanEndDate} ${endTimeStr}`;
    
    // 解析为带时区的日期对象
    const startDateTime = Utilities.parseDate(startDateTimeStr, timeZone, 'MM/dd/yyyy h:mm a');
    const endDateTime = Utilities.parseDate(endDateTimeStr, timeZone, 'MM/dd/yyyy h:mm a');
    
    // 处理描述字段:将"NA"替换为空字符串
    const eventDescription = description === 'NA' ? '' : description;
    
    // 获取默认日历并创建事件(如需指定日历,可替换为CalendarApp.getCalendarById("日历ID"))
    const calendar = CalendarApp.getDefaultCalendar();
    calendar.createEvent(
      eventTitle,
      startDateTime,
      endDateTime,
      {
        description: eventDescription,
        timeZone: timeZone
      }
    );
    
    Logger.log(`已创建事件:${eventTitle}`);
  });
  
  // 弹出完成提示
  SpreadsheetApp.getUi().alert('事件批量创建完成!');
}

使用步骤

  • 打开你的 Google Sheets 表格
  • 点击顶部菜单栏「扩展程序」>「Apps 脚本」
  • 删除默认代码,粘贴上述脚本
  • 点击「保存」,给脚本命名(比如SheetToCalendar)
  • 首次运行会触发权限验证,按指引完成授权即可
  • 返回表格,运行脚本即可批量生成日历事件

示例效果

用你提供的测试记录运行脚本后,会在默认日历中生成一个:

  • 标题为TEST EVENT
  • 开始时间为2024年5月23日下午1:00(GMT+3时区)
  • 结束时间为2024年5月23日下午3:00(GMT+3时区)
  • 描述为空的日历事件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 12:03:11