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

如何在邮件中发送带换行的数组?Google Apps Script技术咨询

问题

我用Google Apps Script编写了emailTest函数,从Google Sheets的'NCAA Weekly'工作表中获取数据生成ncaaWeekly数组,通过GmailApp发送邮件时,数组内容在邮件中以逗号分隔的连续文本显示(如:FLA vs UTAH (UTAH -7.5),NEB vs MINN (MINN -7.0)...),期望实现每个数组元素单独占一行的格式,请问该如何修改代码实现此需求?

当前代码:

function emailTest(){

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('NCAA Weekly');
  var ncaaAway = sheet.getRange(19,19,14,1).getValues();
  var ncaaHome = sheet.getRange(19,21,14,1).getValues();
  var ncaaOdds = sheet.getRange(19,26,14,1).getValues();
  ncaaWeekly = [];

  for (var i = 0; i < 14; i++){

    var ncaa = ncaaAway[i] + ' vs ' + ncaaHome[i] + `  (` + ncaaOdds[i] + `)`;
    ncaaWeekly.push([ncaa]);
    
  }

  console.log(ncaaWeekly)
  var subject = 'testing';
  var body = ncaaWeekly;

  GmailApp.sendEmail(----,subject,body);


}
解决方案

问题根源有两个:

  1. 你将每个元素用数组包裹后push进ncaaWeekly,导致最终是二维数组,转字符串时会多一层逗号分隔;
  2. 直接把数组赋值给body,默认会用逗号拼接所有元素。

修改步骤:

  • 取消元素的数组包裹:将ncaaWeekly.push([ncaa])改为ncaaWeekly.push(ncaa);
  • 用换行符拼接数组元素:将var body = ncaaWeekly改为var body = ncaaWeekly.join('\n');
  • 补充:getValues()返回的是二维数组,之前直接用ncaaAway[i]会取到数组,建议加上[0]明确获取单元格文本值,避免潜在问题。

修改后的完整代码:

function emailTest(){

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('NCAA Weekly');
  var ncaaAway = sheet.getRange(19,19,14,1).getValues();
  var ncaaHome = sheet.getRange(19,21,14,1).getValues();
  var ncaaOdds = sheet.getRange(19,26,14,1).getValues();
  ncaaWeekly = [];

  for (var i = 0; i < 14; i++){
    // 明确获取单元格文本值
    var ncaa = ncaaAway[i][0] + ' vs ' + ncaaHome[i][0] + `  (` + ncaaOdds[i][0] + `)`;
    ncaaWeekly.push(ncaa); // 直接存储字符串,无需数组包裹
  }

  console.log(ncaaWeekly)
  var subject = 'testing';
  var body = ncaaWeekly.join('\n'); // 用换行符拼接数组元素

  GmailApp.sendEmail(----,subject,body);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 16:46:31