【发布时间】:2015-03-19 16:37:25
【问题描述】:
我有一个应用程序脚本,它从一个电子表格中的多个单元格中获取电子邮件地址,并将它们添加到另一个电子表格中的一个单元格中。 目前,电子邮件地址已添加到该单元格并由“,”分隔。
我想将电子邮件地址添加到同一个单元格中,但在每个地址后添加一个新行。
我知道在手动添加文本时,可以通过键入 CTRL-Enter 在单元格中添加新行。
如何在应用脚本中实现这一点?
到目前为止,我已尝试将“\n”或“\r”或“\r\n”附加到字符串,但无济于事,因此我将代码恢复为添加“,”。
sheet = SpreadsheetApp.getActiveSheet();
sheet.clear();
sheet.appendRow(["Num Emails", "Emails"]);
var LMEmails = "";
var count = 0;
for (var i = 0; i < reviewers.LMEmails.length; i++) {
if (count) {
LMEmails += ", " + reviewers.LMEmails[i];
} else {
LMEmails += reviewers.LMEmails[i];
}
count++;
}
data = [count, LMEmails];
sheet.appendRow(data);
如果有人能提供帮助,我将不胜感激
问候 克鲁兹
【问题讨论】:
-
这里
\n与setValue()配合得很好。LMEmails += "\n" + reviewers.LMEmails[i];会导致什么? -
通向xxxxx@xxx.comyyyyy@yyy.comzzzzz@zzz.com,但是如你所见,我没有使用setValue()。实际上,我有更多的标题和列要填充,你看到的代码被截断了
-
使用 setValue 代替 appendRow。
ss.getRange( ss.getLastRow(), 0, 1, 2).setValue(data); -
我试过了,但不是更新下一个空行,而是更新同一行(顶部),奇怪的是,它用相同的值更新行中的所有单元格,第一个值数据数组。
-
在 getRange 中出错,正确的应该是:
ss.getRange( ss.getLastRow() + 1, 1, 1, 2).setValue(data);
标签: google-apps-script google-sheets