Каждую неделю у меня есть несколько разных Google Sheets, которые я должен загрузить как Excel, удалить скрытые строки, исправить данные и затем отправить их по электронной почте.
Это может занять очень много времени, поэтому я хотел бы создать / развернуть скрипт, который автоматизирует этот процесс.
Я провел массу поисков, чтобы попытаться заставить это работать, однако яЯ сталкиваюсь с несколькими проблемами.
Во-первых, данные в таблице извлекаются с помощью формулы запроса / импорта, поэтому после загрузки в Excel все данные выглядят следующим образом:
=IFERROR(__xludf.DUMMYFUNCTION("""COMPUTED_VALUE"""),"No")
Это предотвращает возможность фильтрации любых данных.В настоящее время я исправляю это, копируя все данные в Excel и вставляя только значения.Я бы хотел, чтобы файл Excel был исправлен, чтобы мне не пришлось это делать.
Кроме того, я хотел бы иметь возможность отправить преобразованный файл Excel по электронной почте.
Я нашелследующий код, который работает для этого:
function getGoogleSpreadsheetAsExcel(){
try {
var ss = SpreadsheetApp.getActive();
var url = "https://docs.google.com/feeds/download/spreadsheets/Export?key=" + ss.getId() + "&exportFormat=xlsx";
var params = {
method : "get",
headers : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
muteHttpExceptions: true
};
var blob = UrlFetchApp.fetch(url, params).getBlob();
blob.setName(ss.getName() + ".xlsx");
MailApp.sendEmail("amit@labnol.org", "Google Sheet to Excel", "The XLSX file is attached", {attachments: [blob]});
} catch (f) {
Logger.log(f.toString());
}
}
Это в основном работает, но снова сталкивается с проблемой, описанной выше, из-за того, что данные importrange неверны и отображаются как = IFERROR (__ xludf.DUMMYFUNCTION.
Тамтакже есть два столбца (A и J), которые скрыты и должны быть удалены.
Кроме того, я хотел бы иметь возможность изменять адрес электронной почты, тему и сообщение через графический интерфейс пользователя. Но это гораздо меньшеважно и не нужно.
Я знаю, что это большая просьба, но любая помощь будет удивительной!