Как вставить ячейки листов Google по одной в слайд Google - PullRequest
0 голосов
/ 25 декабря 2018

Я хочу поместить содержание ячеек по строкам из разных столбцов на одном листе Google в один слайд Google.

Я нашел это видео от разработчиков Google , но они используют APIобновлять слайд, который мне не нужен.Внутри stackoverflow ближайший вопрос находится здесь , где диапазон листа копируется в слайд.

, например, этот лист

Столбец A__________Колонна B_________Колонна CПол ______________ Бейкер ____________ Нью-ЙоркJerry______________Smith____________ChicagoТим _______________ Джонсон __________ Лос-Анджелес

На слайде, например, есть заполнители для {{column A}} и {{column C}} (мне не нужен B) для каждого из них, например, 5x.Теперь сценарий должен построчно заполнять значения из столбца A и столбца C слайдом до последней строки листа и оставлять оставшиеся заполнители пустыми.

1 Ответ

0 голосов
/ 25 декабря 2018

Предположим, у вас есть презентация с первым пустым слайдом (без таблиц).Полезно начинать с пустого, потому что мы не должны помнить точное количество строк данных.Затем мы должны создать новую таблицу с двумя столбцами и заполнить ее импортированными данными электронной таблицы.

Мы можем сделать это с помощью скрипта Google как в Spreadsheet, так и в Slide контейнере.Я выбрал контейнер Slide с известным идентификатором электронной таблицы:

function addTable() {
  var ssId = '-- spreadsheet ID here --';
  var values = SpreadsheetApp.openById(ssId).getSheetByName('Test').getRange('A1:C3').getValues();
  var table = SlidesApp.getActivePresentation().getSlides()[0].insertTable(values.length, 2);
  for (var i in values) {
    table.getRow(i).getCell(0).getText().appendText(values[i][0]);
    table.getRow(i).getCell(1).getText().appendText(values[i][2]);
  }
}

Таблица - это самый простой заполнитель для работы с данными электронной таблицы, и этот базовый пример кода для него.

Вы предложили менее очевидныевариант для заполнителей (фигур), например, здесь:

enter image description here

Учитывая расположение заполнителей вместе со значениями их индексов, мы можем заполнить их импортированнымиданные с помощью этого вызова функции:

function importData() {
  var ssId = '-- spreadsheet ID --';
  var values = SpreadsheetApp.openById(ssId).getSheetByName('Tabellenblatt2').getRange('A1:C4').getValues();
  var slide = SlidesApp.getActivePresentation().getSlides()[0];
  var shapes = slide.getShapes();
  for (var i in values) {
    shapes[i].getText().setText(values[i][0]);
    shapes[parseInt(i) + 4].getText().setText(values[i][2]);
  }
}
...