Здравствуйте, Ученики,
Цель этой статьи — объяснить, как можно создать Документы Google из данных электронной таблицы Google с помощью скрипта Google Apps.
Мы должны понять, как разработка может помочь и облегчить нашу задачу, прежде чем рассматривать ее.
Каковы преимущества этого скрипта и разработки?
Мы увидим некоторые полезные задачи, которые может выполнять этот скрипт.
- Оценки учащихся могут быть получены из данных Google Spreadsheet.
- Письма о распределении домов могут быть сгенерированы из данных электронной таблицы.
- Этот скрипт также может генерировать счета для клиентов.
- Сертификаты семинара могут быть созданы и отправлены студентам.
Этот скрипт можно использовать для создания многих других подобных вещей по мере необходимости.
Для разработки этого проекта нам потребуются следующие вещи:
- Создайте документ Google с необходимыми данными в качестве шаблона.
2. Создание электронной таблицы Google и сохранение данных.
3. Создайте папку на Google Диске, в которой будет сохранен документ.
4. Напишите сценарий Google Apps для создания документов Google с использованием данных.
Ниже приведены шаги по созданию скрипта Google Apps, который генерирует документы Google.
Мы будем следовать тому же процессу, который мы использовали в наших предыдущих статьях о разработке скриптов Google Apps с данными Google Spreadsheet.
Мы создаем документ для информации о студентах колледжа.
Шаг 1: Создайте таблицу Google и сохраните данные. Данные в этой таблице можно собирать с помощью формы Google или заполнять вручную. Пример таблицы Google может выглядеть так.
Шаг 2. Теперь создайте документ Google с заменяющими тегами (здесь мы используем такие теги, как — timestamp, name, picture, from_year, to_year, College_name), которые будут использоваться в качестве шаблона при создании документов.
Шаг 3.У нас есть таблица Google и шаблон документа, теперь откройте редактор скриптов Google и начните выполнять шаги, чтобы написать скрипт.
Шаг 3.1.Эта функция fillData() получает данные от функции getData() в формате объекта JSON, что помогает нам заменить теги, которые мы определили в шаблоне документа.
В функции fillData() мы определили идентификатор электронной таблицы, идентификатор документа, который можно скопировать из строки URL-адреса документа.
Затем мы читаем идентификатор и тело документа, чтобы заменить теги данными нашей электронной таблицы с помощью скрипта.
После замены данных тегами мы идентифицировали нашу папку с помощью идентификатора папки, который также можно скопировать из строки URL, как только вы откроете папку на Google Диске и переместите файл документа после преобразования в pdf в эту папку.
function fillData() { try { var ss = SpreadsheetApp.openById("YOUR_SPREADSHEET_ID"); var sheet = ss.getSheetByName("main"); var parseJson = getData(sheet); var templateId = 'YOUR_DOCUMENT_TEMPLATE_ID'; var documentId = DriveApp.getFileById(templateId).makeCopy().getId(); var doc = DocumentApp.openById(documentId); var body = doc.getBody(); if(parseJson.timestamp !="") { body.replaceText("<<timestamp>>", parseJson.timestamp); body.replaceText("<<name>>", parseJson.name); body.replaceText("<<picture>>", parseJson.picture); body.replaceText("<<from_year>>", parseJson.from_year); body.replaceText("<<to_year>>", parseJson.to_year); body.replaceText("<<college_name>>", parseJson.college_name); DriveApp.getFileById(documentId).setName(parseJson.name + "_" + parseJson.timestamp); doc.saveAndClose(); var source = DriveApp.getFileById(documentId) var blob = source.getAs('application/pdf'); var file = DriveApp.createFile(blob); var pdf_file_id = file.getId(); file.setName(source.getName() + '.pdf'); //folder id in which file will be saved var folder = DriveApp.getFolderById('YOUR_FOLDER_ID'); var folderToMoveFile = isFolderExists(folder); file.moveTo(folder); var status = "success"; return status; } } catch(err) { status = err; } }
Шаг 3.2. Мы определили функцию getData() на шаге 3.1, которую нужно определить с помощью скрипта, чтобы получить данные в Формат объекта JSON. Давайте посмотрим сценарий для этого ниже.
function getData(sheet){ var jo = {}; var dataArray = []; // collecting data from 2nd Row , 1st column to last row and last // column sheet.getLastRow()-1var rows = sheet.getRange(2,1,sheet.getLastRow()-1,sheet.getLastColumn()).getValues();for(var i = 0, l= rows.length; i<l ; i++) { var dataRow = rows[i]; var record = {}; record['timestamp'] = dataRow[0]; record['name'] = dataRow[1]; record['from_year'] = dataRow[2]; record['to_year']=dataRow[3]; record['college_name']=dataRow[4]; dataArray.push(record); } jo = dataArray; var result = JSON.stringify(jo); return jo; }
В приведенном выше скрипте мы считываем данные из таблицы Google, преобразуем их в объекты JSON и возвращаемся к функции fillData().
После запуска функции fillData() сценарий будет выполнен, и требуемая задача будет выполнена.
Если вы хотите изучить скрипт Google Apps и автоматизировать Google Workspace? обязательно попробуйте эту электронную книгу на тему Скрипт Google Apps: руководство для начинающих».
Я надеюсь, что эта статья поможет вам понять, как создать документ с помощью электронной таблицы Google с помощью скрипта Google Apps. Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий. Я был бы рад помочь вам.