В отличие от файлов CSV, данные файла xlsx не могут быть непосредственно вставлены в электронную таблицу
Что вы можете сделать вместо этого:
- Сохранить вложение на вашем диске c в оригинале mimeType
- Преобразуйте его в документ Google Sheets, например,
Drive.Files.copy
- Удалите файл Excel из вашего диска c
Пример:
function GmailToDrive() {
var threads = GmailApp.getInboxThreads();
var message = threads[0].getMessages()[0];
var attachment = message.getAttachments()[0];
var blob = attachment.getAs(attachment.getContentType());
blob.setName(attachment.getName())
var excel = DriveApp.createFile(blob);
Drive.Files.copy({mimeType: MimeType.GOOGLE_SHEETS}, excel.getId());
excel.setTrashed(true)
}
Обратите внимание, что Drive
- это расширенная служба, для которой необходимо включить заранее.