Скрипт, который будет отправлять данные из Google Sheets по электронной почте - PullRequest
1 голос
/ 25 сентября 2019

Я создал скрипт для отправки по электронной почте данных из определенного диапазона в листе Google, но данные работают вместе.Какие изменения мне нужно внести в мой сценарий, чтобы данные располагались в отдельных строках в теле письма или в формате таблицы?

Данные находятся в ячейках A5:B16 и фактически являются формулами, которые извлекают отфильтрованные данные из другихчасти таблицы.Фильтр является фильтром на основе даты, поэтому данные, возвращаемые в ячейках A5:B15, изменяются еженедельно.Я хочу по электронной почте в начале недели с новыми данными.Код «работает», но его трудно прочитать.Что изменилось в моем сценарии, чтобы данные располагались в отдельных строках в теле письма?Кроме того, как мне отформатировать даты?

function sendEmails() {
  var recipient = 'john.doe@gmail.com'; 
  var subject = "New Hires starting this week";  
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 5;
  var numRows = 10; 
  var dataRange = sheet.getRange(startRow, 1, numRows, 2);
  var message = dataRange.getValues();
  MailApp.sendEmail(recipient, subject, message);
} 

Так выглядит электронная почта:

Имя, Дата окончания, Джейн Доу, пт 27 сентября 2019 00:00:00 GMT-0400 (EDT), Джон Хэнкок, пт 27 сентября 2019 г. 00:00:00 GMT-0400 (EDT), Джо Смит, пт 27 сентября 2019 00:00:00 GMT-0400 (EDT) ,,,,,,,,,

1 Ответ

1 голос
/ 25 сентября 2019
function sendEmails() {
  var recipient = 'john.doe@gmail.com'; 
  var subject = "New Hires starting this week";  
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 5;
  var numRows = 10; 
  var dataRange = sheet.getRange(startRow, 1, numRows, 2);
  var message = dataRange.getValues();
  var s='';
  for(var i=0;i<message.length;i++) {
    var dt=Utilities.formatDate(new Date(message[i][1]),Session.getScriptTimeZone(),"MM-dd-yyyy");
    s+=Utilities.formatString('%s: %s\n',message[i][0],dt);
  }
  GmailApp.sendEmail(recipient, subject, s);
} 

Utilities.formatString ()

Я предполагаю, что у вас есть метаданные в столбце 1 и данные в столбце 2. Если это не правильно, дайте мне знать, что это, вероятно,легко исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...