- Вы хотите поместить данные из файла xlsx, прикрепленного к электронному письму, в существующую электронную таблицу.
Если мое понимание верно, как насчет этой модификации?Пожалуйста, подумайте об этом как один из нескольких ответов.
Когда вы используете этот скрипт, пожалуйста, включите Drive API в Advanced Google Services и консоли API.Об этом вы можете узнать по здесь .
Поток измененного скрипта:
- Извлечение большого двоичного файла xlsx.
- Преобразовать формат xlsx в таблицу Google.
- Извлечь значения из преобразованной таблицы.
- Удалить преобразованный файл.
- Поместить значения на лист
Data
в существующейЭлектронная таблица.
Модифицированный скрипт:
Пожалуйста, измените следующим образом.
С:
var csv = attachments[0].getDataAsString();
var data = Utilities.parseCsv(csv);
Кому:
var xlsxBlob = attachments[0]; // Is supposes that attachments[0] is the blob of xlsx file.
var convertedSpreadsheetId = Drive.Files.insert({mimeType: MimeType.GOOGLE_SHEETS}, xlsxBlob).id;
var sheet = SpreadsheetApp.openById(convertedSpreadsheetId).getSheets()[0]; // There is the data in 1st tab.
var data = sheet.getDataRange().getValues();
Drive.Files.remove(convertedSpreadsheetId); // Remove the converted file.
Примечание:
- В этой модификации предполагается следующее:Если ваша ситуация отличается от следующих пунктов, пожалуйста, измените ее.
attachments[0]
является файлом BLOB-объекта xlsx. - О файле xlsx данные, которые вы хотите поместить, находятся на 1-й вкладке.
Ссылка:
Если я неправильно понял ваш вопрос, и это не сработало, яapologzize.