Здравствуйте, Ученики,

Цель этой статьи — объяснить, как можно создать Документы Google из данных электронной таблицы Google с помощью скрипта Google Apps.

Мы должны понять, как разработка может помочь и облегчить нашу задачу, прежде чем рассматривать ее.

Каковы преимущества этого скрипта и разработки?

Мы увидим некоторые полезные задачи, которые может выполнять этот скрипт.

  • Оценки учащихся могут быть получены из данных Google Spreadsheet.
  • Письма о распределении домов могут быть сгенерированы из данных электронной таблицы.
  • Этот скрипт также может генерировать счета для клиентов.
  • Сертификаты семинара могут быть созданы и отправлены студентам.

Этот скрипт можно использовать для создания многих других подобных вещей по мере необходимости.

Для разработки этого проекта нам потребуются следующие вещи:

  1. Создайте документ 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. Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий. Я был бы рад помочь вам.