@Vyacheslav90

Как сохранить один лист из Гугл Таблицы в формат xlsx и отправить его по email?

Добрый день!

Задача следующая: есть книга, в ней несколько листов. Один из листов нужно сохранить в отдельную книгу, переформатировав его в excel, и направить на почту.

Создать новую книгу пустую я понимаю как. Но как вставить в нее лист из другой и перекодировать в xlsx не приложу ума.

Если поможет кто-то строчками кода, буду очень благодарен
  • Вопрос задан
  • 8372 просмотра
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
На самом деле эта задача легко гуглится.

Например, требуется сохранить лист "Мой супер лист".

/**
 *
 */
function runSheet() {
  var spec = ['Мой супер лист'];

  var spreadsheet = SpreadsheetApp.openById(
    'ABCD1234'
  ).copy('tmp');

  spec.forEach(function(sheetName) {
    var dr = spreadsheet.getSheetByName(sheetName).getDataRange();
    dr.setValues(dr.getValues());
  });
  spreadsheet.getSheets().forEach(function(sheet) {
    if (spec.indexOf(sheet.getName()) < 0) spreadsheet.deleteSheet(sheet);
  });
  var spreadsheetId = spreadsheet.getId();
  var file = exportSpreadsheetToFile_(spreadsheetId, 'xlsx');
  DriveApp.getFileById(spreadsheetId).setTrashed(true);
  return file;
}


Листинг exportSpreadsheetToFile_ можно найти тут.

Ну, а полученный файл вы можете отправить вот так

MailApp.sendEmail({
  to: "recipient@example.com",
  subject: "Logos",
  attachments: [runSheet().getBlob()]
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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