使用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工作表脚本可将工作日的一周添加到工作表中

使用 Google App 脚本更改 Google Sheet 中部分单元格值的字体粗细

如何使用 Google Sheets API python 将下拉列表添加到 google sheet

在 google colaboratory 中使用 for 循环阅读多个 google sheet 工作簿