Скрипт Google App не работает для полного листа - PullRequest
1 голос
/ 12 марта 2020

У меня есть гугл-лист с именем студента, номер ролика, оценки по физике, химии, математике и практическим занятиям для примерно 80 студентов. Каждый день мы проводим тестирование и оценки, которые я должен отправить в головной офис к вечеру. Только студенты получили более 40 оценок по физике и химии и более 50 по математике.

Я подготовил Gmail.sendEmail, и он работает нормально, но отправляю отдельное письмо для каждой строки. То, что мне нужно, это завершение одного письма с перерывом для каждого студента. Я предоставляю код сценария, а также код html.

function sendEmail() {

  var temp = HtmlService.createTemplateFromFile('xxx')

  var sub = "STUDENT MARKS";
  var email = "xxx@xxx.xx";
  var name = "Branch Office";

  for (i in data) {
      row =   data[i];
      temp.name =   row[0];
      temp.roll =   row[1];
      temp.phy =    row[2];
      temp.chem =   row[3];
      temp.math =   row[4];
      temp.pract =  row[5];

      if(temp.phy => 40 && temp.chem => 40 && temp.math => 50){
          var htmlMessage = temp.evaluate().getContent();

          GmailApp.sendEmail(email, sub,"not supported",{
                   name: name,htmlBody: htmlMessage,
          });
       } 
    }   
} 

html code

<p>  
<b>Student Marks </b>
<br><br>
Student Name:<?= rgp  ?> Roll no:<?= rgpdt  ?><br>
Marks in Physics: <?= phy  ?><br>
Marks in Chemistry: <?= chem  ?><br>
Marks in Maths: <?= math  ?><br>
Marks in Practical:<?= pract  ?>
</p>

1 Ответ

1 голос
/ 12 марта 2020

Попробуйте это:

function sendEmail() {
  var html="";
  var sub = "STUDENT MARKS";
  var email = "xxx@xxx.xx";
  var name = "Branch Offioce";
  for (var i=0;i<data.length;i++) {
    row =   data[i];
    temp.name =   row[0];
    temp.roll =   row[1];
    temp.phy =    row[2];
    temp.chem =   row[3];
    temp.math =   row[4];
    temp.pract =  row[5];
    if(temp.phy => 40 && temp.chem => 40 && temp.math => 50){var html+=temp.evaluate().getContent()+'<br />';} 
  }
  if(html) {
    GmailApp.sendEmail(email, sub,"",{name: name,htmlBody:html});
  }
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...