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

如何将Google日历事件导出到Google Sheets并去除文本格式?

将Google日历事件导出到Google Sheets并去除格式的实现方法

核心思路

Google日历的事件描述、标题这类字段大多是带HTML标签的富文本,要导出纯文本,核心就是把这些HTML标签清掉,再整理下多余的换行和空格。下面直接给修改后的代码和关键说明。

修改后的完整代码

function exportCalendarEvents() {
  var startDate = new Date('2022-01-01');
  var endDate = new Date('2022-02-01');
  var calendar = CalendarApp.getDefaultCalendar();
  var events = calendar.getEvents(startDate, endDate);
  
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.clear();
  sheet.appendRow(['标题', '开始时间', '结束时间', '描述']);
  
  for (var i = 0; i < events.length; i++) {
    var event = events[i];
    // 清理标题和描述的格式,转成纯文本
    var plainTitle = removeFormatting(event.getTitle());
    var plainDescription = removeFormatting(event.getDescription());
    
    sheet.appendRow([
      plainTitle,
      event.getStartTime(),
      event.getEndTime(),
      plainDescription
    ]);
  }
}

// 清理富文本格式的工具函数
function removeFormatting(htmlText) {
  if (!htmlText) return ''; // 空内容直接返回空字符串
  
  // 先删掉所有HTML标签
  var plainText = htmlText.replace(/<[^>]*>/g, '');
  
  // 再整理多余的换行和空格
  plainText = plainText.replace(/\n\s*\n/g, '\n'); // 去掉连续空行
  plainText = plainText.replace(/\s+/g, ' ').trim(); // 多个空格合并成一个,清掉首尾空格
  
  return plainText;
}

关键细节说明

  • removeFormatting是核心:用正则表达式<[^>]*>匹配所有HTML标签并移除,然后处理多余的空白字符,保证导出的文本干净整洁。
  • 标题也可能带格式(比如加粗的HTML标签),所以一起处理更稳妥。
  • 空内容直接返回空字符串,避免表格里出现奇怪的占位符。

操作步骤

  1. 打开要导出的Google Sheets,点「扩展程序」→「Apps Script」。
  2. 把原代码全删掉,替换成上面的代码。
  3. 保存项目(随便起个名字,比如CalendarExport)。
  4. 运行exportCalendarEvents函数,第一次运行会弹出权限请求,按提示授权就行。
  5. 回到表格,就能看到纯文本格式的日历事件了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 12:50:21