отправить информацию о таблице в Google Doc обратно на Google-лист - PullRequest
0 голосов
/ 15 июня 2019

Есть ли способ обновить лист Google из документа Google, на который есть ссылки?По сути, у меня есть шаблон Google Doc со связанной таблицей Google.У меня есть скрипт, который делает копию документа Google при отправке формы.Затем переменные заменяются соответствующими данными формы.

Когда я буду готов, я обновлю Google лист с индивидуальной информацией и обновлю Google DOC.Это работает нормально, пока мне не нужно внести изменения в более старый документ Google ... но так как мои документы Google связаны с тем же листом, я должен повторно ввести информацию в листе Google из старого документа Google, а не просто редактироватьGoogle лист.Есть ли способ отправить данные обратно из документа Google на лист Google?

Или есть способ вставить и связать таблицу из листа Google в сценарий документа Google с приложениями?Единственный способ связать лист с документом, который я нашел, - это скопировать и вставить ...

1 Ответ

0 голосов
/ 15 июня 2019

Отличного ответа нет.К сожалению, функция обновления не доступна в Doc API.Однако вы можете использовать Apps Script для копирования данных с листа в документ.Форматирование теряется, поэтому вам придется сбросить форматирование, как в моем примере ниже.

function copyDataFromSheetToDoc() {
  var sheet = SpreadsheetApp.openById('1R0a4aj1iJA8IxlgYRMjsM7DytPItQxy3be7W55mitr4');
  var data = sheet.getSheetByName('Sheet1').getRange("A1:C4").getValues();
  var doc = DocumentApp.openById('1pMWRr_QbRlObLeulM0DUHZRCc1K6RCch9FMLOM0sSN0');
  var body = doc.getBody();
  // Update the first table.
  var table = body.getTables()[0];

  var headerStyle = {};
  headerStyle[DocumentApp.Attribute.BOLD] = true;
  headerStyle[DocumentApp.Attribute.FONT_SIZE] = 10;
  var bodyStyle = {};

  for (var r = 0; r < data.length; ++r) {
    var row = data[r];
    for (var c = 0; c < row.length; ++c) {
      var cell = table.getCell(r, c);
      cell.setText(row[c]);
      if (r == 0) {
        cell.setAttributes(headerStyle);
      } else {
        cell.setAttributes(bodyStyle);
      }
    }
  }
  doc.saveAndClose();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...