Вывод данных из googlesheet через htmlservice с использованием Google Apps Script - PullRequest
0 голосов
/ 06 мая 2019

Моя задача - обслуживать данные из электронных таблиц. Есть несколько позиций с призами. Я хочу предоставить его пользователю, используя шаблон HTML и HtmlService

Я подготовил html-шаблон с местами, где я хочу предоставлять данные. Я закодировал скрипт, который собирает данные из googleSheet и сохраняет в объектах.

js в приложениях Google env:

var htmlOutput = HtmlService
       .createHtmlOutputFromFile('kosztorys.html')
       .setWidth(500)
       .setHeight(550)
SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'Some title');

Я сейчас сбит с толку и не знаю, что с этим делать. Я пробовал некоторые решения, найденные в Интернете, но это не работает. Как поместить данные в шаблон?

1 Ответ

0 голосов
/ 06 мая 2019

Я предполагаю, что вам нужно что-то вроде этого:

var htmlOutput = HtmlService
       .createHtmlOutputFromFile('kosztorys')
       .evaluate()
       .setWidth(500)
       .setHeight(550)
SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'Some title');

Как правило, вам не нужно указывать .html для имени файла, потому что Google Script добавляет его для вас.Итак, в вашем случае программа искала файл с именем kosxtorys.html.html.

Вот пример шаблонного веб-приложения HTML

Вот пример, показывающий, как получитьсодержимое электронной таблицы в диалоговом окне.

function onOpen() {
  SpreadsheetApp.getUi().createMenu('My Tools')
  .addItem('Read Data from Active Sheet', 'readDataFromSheet')
  .addToUi();
}


function readDataFromSheet() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var html="<style>td,th{border:1px solid black;}</style><table>";
  for(var i=0;i<vA.length;i++) {
    html+='<tr>';
    for(var j=0;j<vA[i].length;j++) {
      if(i==0) {
        html+=Utilities.formatString('<th>%s</td>',vA[i][j]);
      }else{
        html+=Utilities.formatString('<td>%s</td>',vA[i][j]);
        Logger.log('vA[%s][%s]=%s>',i,j,vA[i][j]);
      }
    }
    html+='</tr>';
  }
  html+='</table>';
  var userInterface=HtmlService.createHtmlOutput(html);
  SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Reading Data From A Spreadsheet')
}

Вот как выглядит электронная таблица:

enter image description here

И вот чтодиалоговое окно выглядит следующим образом:

enter image description here

Существует много способов вывода данных из электронной таблицы, во многом это зависит от ваших данных.Но это один из многих.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...