Google Script - электронная почта - Html для цикла - PullRequest
0 голосов
/ 16 февраля 2020

Недавно я работал над сценарием для отправки электронного письма из электронной таблицы Google при изменении одного или нескольких значений в определенном столбце.

Ниже функции электронной почты:

function sendEmail(list){
  var recipient="emaild@gmail.com";
  var subject="Multiples prices have changed";
  var body = "";
  for(var i=0; i<list.length;i++){ // Get throught the list to write the body
    body=body + list[i][0] + " price has changed by " + list[i][1] + "\%\n";
  }
  MailApp.sendEmail(recipient, subject, body);
}

список [i] [0]

вернуть название продукта

список i

возвращаем Δ%

Итак, тело письма, которое я рисую, это только текст, т.е.:

product 1 price has changed by 20%
product 2 price has changed by 5%
product 3 price has changed by 15%

Я хотел бы добавить немного стиля, чтобы рисовать тело электронной почты, подобное этому:

enter image description here

Любая помощь?

1 Ответ

2 голосов
/ 16 февраля 2020
function sendEmail(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var list=sh.getRange(2,1,sh.getLastRow()-1,sh.getLastColumn()).getValues();
  var recipient="emaild@gmail.com";
  var subject="Multiples prices have changed";
  var html='<style>td{border:px solid black;}#td1{font-size:22;color:black;font-weight:bold;}#td2{font-size:16;color:red;}{</style><table>';
  for(var i=0; i<list.length;i++){ 
    html+=Utilities.formatString('<tr><td id="td1">%s</td></tr><tr><td id="td2">%s</td></tr>',list[i][0],`${list[i][1]} ${list[i][2]}.`);
  }
  GmailApp.sendEmail(recipient, subject,'',{htmlBody: html});
  //var ui=HtmlService.createHtmlOutput(html);
  //SpreadsheetApp.getUi().showModelessDialog(ui, 'Price Changes')
}

Вот как выглядит моя таблица:

enter image description here

А вот CSV моих данных:

Product,Direction,Amount
Product1,price has increased ,10
Product2,price has increased ,20
Product3,price has increased ,30
Product4,price has increased ,40
Product5,price has increased ,50
Product6,price has increased ,60
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...