Loops 关于应用程序脚本中循环的非常简单的问题
我想这很愚蠢,因为这很容易。我试图在谷歌上找到答案,但找不到解决办法 我正在做一些基本的循环:Loops 关于应用程序脚本中循环的非常简单的问题,loops,google-apps-script,google-sheets,Loops,Google Apps Script,Google Sheets,我想这很愚蠢,因为这很容易。我试图在谷歌上找到答案,但找不到解决办法 我正在做一些基本的循环: function Testing_Loops() { var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var lr = ss.getLastRow(); for (var i = 3;i<=lr;i++){ var Clients = ss.getRange(i,2).getValue
function Testing_Loops() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss.getLastRow();
for (var i = 3;i<=lr;i++){
var Clients = ss.getRange(i,2).getValue();
}
}
在第2列中,我有一些带有客户端名称的行。我想把它们存储在一个变量中。我的问题是,目前,Clients变量中唯一的客户机是最后一行的客户机。这是有意义的,因为我的循环每次都会覆盖我的变量
如何将所有名称存储在变量中 创建这样一个列表:
final List<Client> clients = new ArrayList<>();
使用getDataRange获取当前值
function Testing_Loops() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var clients = ss.getDataRange().getValues().map(function(row){
return row[1];
});
Logger.log(clients);
}
如果您需要将其映射到html以发送电子邮件,请尝试以下操作
/**
*
*/
function getHtmlListForEmail() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var clients = ss
.getDataRange()
.getValues()
.map(function(row) {
return Utilities.formatString('<li>%s</li>', row[1]);
})
.join('\n');
return Utilities.formatString('<ul>%s</ul>', clients);
}
/**
*
*/
function sendMail() {
MailApp.sendEmail('contributor.pw', 'Title', '', {
htmlBody: getHtmlListForEmail()
});
}
因此,我设法在一个数组中存储多个客户端名称。 我是这样做的:
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss.getLastRow();
var allEmail = ss.getRange(1, 13).getValue();
var listClientsNames=[];
for (var i = 3;i<=lr;i++){
var originallist = ss.getRange(i,2).getValue();
listClientsNames.push(originallist);
}
//MailApp.sendEmail(allEmail, "Title", listClientsNames);
}
我现在正试图将客户列表发送到我的电子邮件中。它工作得很好。然而,我收到的清单如下:
客户1、客户2、客户3等等
我能不能以一种简单的方式做一些垂直显示的事情:
客户1
客户2
客户3
非常感谢你的帮助!!我非常感激 var liststr=listClientsNames.join;我更新了我的答案你在应用程序脚本中使用Java吗?这样行吗?
/**
*
*/
function getHtmlListForEmail() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var clients = ss
.getDataRange()
.getValues()
.map(function(row) {
return Utilities.formatString('<li>%s</li>', row[1]);
})
.join('\n');
return Utilities.formatString('<ul>%s</ul>', clients);
}
/**
*
*/
function sendMail() {
MailApp.sendEmail('contributor.pw', 'Title', '', {
htmlBody: getHtmlListForEmail()
});
}
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss.getLastRow();
var allEmail = ss.getRange(1, 13).getValue();
var listClientsNames=[];
for (var i = 3;i<=lr;i++){
var originallist = ss.getRange(i,2).getValue();
listClientsNames.push(originallist);
}
//MailApp.sendEmail(allEmail, "Title", listClientsNames);
}