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

Google Script技术问询:分割带分隔符文本并追加行

解决Google Script追加行时分割带分隔符的邮件正文问题

没问题,我来帮你搞定这个需求——你现在的脚本是把整个邮件正文作为一列追加到表格,想要把带分隔符的正文拆成多列,对吧?

核心思路就是用JavaScript的split()方法把正文按指定分隔符拆分成数组,再把日期、发件人和拆分后的内容合并成一个完整的行数据数组,最后用appendRow()写入表格。

修改后的完整脚本

function readMail() {
  // 获取收件箱最新的1条邮件线程及其中的第一封邮件
  var thread = GmailApp.getInboxThreads(0, 1)[0];
  var message = thread.getMessages()[0]; // 变量名改成单数更贴合单封邮件的场景
  
  // 提取邮件关键信息
  var emailDate = message.getDate();
  var emailSender = message.getFrom();
  var emailBody = message.getPlainBody();
  
  // ******** 这里替换成你实际的分隔符 ********
  // 比如逗号用","、换行用"\n"、制表符用"\t"、分号用";"
  var separator = ","; 
  
  // 按分隔符拆分正文,得到内容数组
  var splitBodyParts = emailBody.split(separator);
  
  // 可选:过滤掉拆分后可能出现的空字符串(比如分隔符前后有空格的情况)
  splitBodyParts = splitBodyParts.filter(part => part.trim() !== "");
  
  // 合并所有要写入的列:日期 + 发件人 + 拆分后的正文各部分
  var rowToAppend = [emailDate, emailSender].concat(splitBodyParts);
  
  // 写入谷歌表格
  var targetSpreadsheet = SpreadsheetApp.openById('你的表格ID');
  var targetSheet = targetSpreadsheet.getSheetByName('你的工作表名称');
  targetSheet.appendRow(rowToAppend);
}

几个关键注意点

  • 分隔符要准确:一定要根据你邮件正文里实际的分隔符号来设置separator变量,比如如果正文是用竖线|分隔的,就改成var separator = "|"。
  • 处理空内容:如果邮件正文里有连续的分隔符或者分隔符前后有空格,拆分后会出现空字符串,用filter()方法可以轻松过滤掉这些无效内容。
  • 表格列数适配:确保你的工作表有足够的列数来容纳拆分后的内容,appendRow()会自动扩展列,但提前规划好列结构会更规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:34:03