Задать вопрос
@nightY77

Google sheets script как преобразовать данные из листа в xl-формат или .csv?

Помогите пож-та с преобразованием данных из гугл таблицы в файл xl или .csv для отправки по email. Не нашел подходящего метода.
Мой код выдает ошибку аргумента attachments:

var sSheet = SpreadsheetApp.openById('xxxxxxxxxxxxxxxxxxx');
var sheetLink = sSheet.getActiveSheet();
var values = sheetLink.getDataRange().getValues();
var text = ContentService.createTextOutput().append(values)

MailApp.sendEmail(
'mail@mail.co',
'Отчет',
'Лови',
{attachments: [text]}
);
  • Вопрос задан
  • 724 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@8x8z
Когда-то делал подобное.
Там был один момент - надо сохранить лист таблицы в новом файле и уже его отправить в определенном формате. Ниже часть кода сохранение в формате xlsx. Полный код здесь
var ssSend     = ssNew.getId()
  var sendFile   = Drive.Files.get(ssSend);
  var url        = sendFile.exportLinks[MimeType.MICROSOFT_EXCEL];
  var token      = ScriptApp.getOAuthToken();
  var response   = UrlFetchApp.fetch(url, {
    headers: {
      'Authorization': 'Bearer ' +  token
    }
  }); 
   

  var blobs   = [response.getBlob().setName(sendFileName)];
//  var sizeBlob = blobs[0].getBytes();
  
  var subject = ssSourceName;
  var message = 'Файл подготовлен и отправлен: ' + Utilities.formatDate(d, timeZone,'dd.MM.yyyy HH:mm:ss'); 
  MailApp.sendEmail(toMail, subject, message , {attachments: blobs });
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы