使用getValue()的Google Sheet两行单元格
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用getValue()的Google Sheet两行单元格相关的知识,希望对你有一定的参考价值。
我制作了一个小脚本,通过电子表格中的电子邮件发送文本。我使用.getValue()获取了单元格的文本,但是当我的单元格有两行或更多行(Ctrl + enter)时,它只是将它们放在我在电子邮件中发送的表格中的同一行。
我想知道是否有一种方法可以在使用.getValue()提取GoogheSheet格式时保留它,或者如果我需要重新处理字符串,如果是这样,我如何让任何RE检测新行... ?
这是我用来提取细胞的编码:
function readInList(debR, col){
/* Documentation
La routine lit chaque cellule d'un range de 1 col par 5 row et stock les valeurs dans une liste au format texte.
retourne cette liste
*/
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var stopRow = debR + 5;
var opCol = col;
var rangeList = [];
var i;
for (i=debR; i < stopRow; i++){
var cell = sheet.getRange(i, col);
rangeList.push(cell.getValue());
}
return (rangeList);
}
答案
因此,Mail发送带有文本的重建表,所有这些都是在html Mail中插入的:
function weeklyReport() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var rowMonth = [31,28,31,30,31,30,31,30,31,30,31,30];
var today = new Date();
var todayYear = today.getYear();
var todayMonth = today.getMonth();
var todayDate = today.getDate();
// Calc the number of rows depending of months that have passed
var rowCell=0;
var i = 0;
do {
rowCell+=rowMonth[i];
i++;
} while (i < todayMonth);
rowCell+=3 + todayDate
var range1 = readInListD(rowCell-4, 1);
var range2 = readInList(rowCell-4, 4);
var subject = 'Weekly report Clem Michard';
var greetings = 'Hi, ';
var sentence = 'please find my weekly report below:';
var table = textToTable(range1, range2);
var signature = 'Clem';
var tables = today;
var cmEmail= '***';
var owaEmail = '***';
var headEmail = '***';
var htmlBodyA =
"<html>"+
"<head>"+
"<style>"+
"table, th, td {"+
"border: 1px solid black;"+
"border-collapse: collapse;"+
"}"+
"</style>" +
"</head>"+
"<body>"+
"<p>" + greetings + "</p>"+
"<p>" + sentence + "</p>"+
"<pre>" + table + "</pre>"+
"<p>" + signature + "</p>"+
"</body>"+
"</html>";
/*- Message envoyé aux particpants avec un e-mail valide -*/
MailApp.sendEmail({
to: headEmail,
bcc: cmEmail,
subject: subject,
name: "Clément Michard",
replyTo: cmEmail,
htmlBody: htmlBodyA})
}
以上是关于使用getValue()的Google Sheet两行单元格的主要内容,如果未能解决你的问题,请参考以下文章
在Google Apps脚本和javascript / jQuery中从另一个对象或数组构建对象
Google-Apps-Script 无法使用 getDataRange().setValues() 写回数据库
使用 Google App 脚本更改 Google Sheet 中部分单元格值的字体粗细