Как загрузить данные из электронной таблицы в html с помощью скрипта приложений Google? - PullRequest
1 голос
/ 03 апреля 2020

Я пытаюсь передать информацию из моего текущего SpreadSheet в файл HTML, который у меня есть, html был создан с помощью скрипта приложения Google, если кто-то может подсказать мне это, это было бы очень полезно. Я немного растерялся из-за этой

Html

<body>
    <!--3.x snippet-->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <!--2.x snippet-->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    <!--1.x snippet-->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <!-- Source -->
    <!-- Google Hosted Libraries: https://developers.google.com/speed/libraries#jquery -->
  <script>
    window.writeData = function() {
    var userInformation = document.getElementById('form');
    google.script.run.registerUser(userInformation);
  };
  </script>
  <blockquote class="trello-card">
    <a href="" id="myLink">Trello Card</a>
  </blockquote>
  <script src="https://p.trellocdn.com/embed.min.js"></script>
  <script>
    google.script.run.withSuccessHandler(myname => {
    var elem = document.getElementById('myLink');
    elem.href += myname;
    console.log('This is myname:' + myname);
    }).getCardById();
  </script>
</body>

Функция, которая должна возвращать информация листа

function getCardById(){
  var app = SpreadsheetApp;
  var activeSp = app.getActiveSpreadsheet();
  var activeSheet = activeSp.getActiveSheet();
  var linkCol = activeSheet.getRange("B2").getValue();
  //Logger.log(' LINKCOL:' + linkCol);
  return linkCol;
}

Функция, которая показывает html

function seeCard() {
 var templateFileId = '1upA3JHioEyxLScebasmsmwXW-SxsiKaPRznKLCKFYhw';
 var sheetName = 'Trello sheet';
 SpreadsheetApp.openById(templateFileId).copy(sheetName);
 var excel =  SpreadsheetApp.create("Probando un html interno a ver ")
 var html = HtmlService.createHtmlOutputFromFile('index') //index is the name of your HTML file
  .setTitle('Trello card')
  .setWidth(300);
   SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
  .showSidebar(html);

}

Видео о том, что происходит сейчас

видео проблемы

* Изображение в консоли *

https://www.screencast.com/t/6tHH15yz

1 Ответ

2 голосов
/ 03 апреля 2020
  • Вы хотите использовать значение от getCardById() до переменной myname с помощью Google Apps Script и Javascript.

Если мое понимание верно, как насчет этого? модификация?

К сожалению, google.script.run не возвращает никаких значений. Ref Так что в этом случае, пожалуйста, используйте withSuccessHandler следующим образом. Когда ваш скрипт изменяется, пожалуйста, измените его следующим образом.

С:

var elem = document.getElementById('myLink'),
var myname = google.script.run.getCardById(); 
elem.href +=  myname ;

Кому:

google.script.run.withSuccessHandler(myname => {
  var elem = document.getElementById('myLink');
  elem.href = myname;
}).getCardById();

Ссылка:

Если я неправильно понял ваш вопрос и это не то направление, в котором вы хотите, я приношу свои извинения.

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