[英]Google apps script, pass (two) 2 “variables” or “array” from code.gs to index.html / Javascript
我需要將Code.gs中的 2個“變量”或“數組” 粘貼到index.html / javascript中。 2個“變量”是我的工作表的值和單元格的背景色。 如果僅傳遞1個變量(waardes或kleuren),則該函數有效,如果我嘗試同時傳遞它們,則只能獲得“ return waardes,kleuren”中的最后一個變量。
// code.gs
function getSheetData(){
var ss = spreadsheetApp.openById("1EpOCr_wjeYhn2YsQjRpAaUtaJNKv_4Rf81vnG59EvPA").getSheetByName("sheet");
var waardes, kleuren;
waardes = ss.getDataRange().getValues();
kleuren = ss.getDataRange().getBackgrounds();
return waardes, kleuren;
}
// index.html / javascript
function functionShowSheet() {
google.script.run.withSuccessHandler(showValuesandColors).getSheetData();
function showValuesandColors (waardes, kleuren) {
alert(waardes);
alert(waardes[0][0]);
// do something with the values and colors
}
}
與基本編程概念一樣,大多數編程語言從該函數僅返回一個值。 閱讀本文“為什么大多數編程語言僅從函數返回單個值?”
因此,您無法從javascript中的函數返回多個變量中的多個值。
那該怎么辦呢?
您可以返回一個集合,即一個對象或包含一個函數中多個值的數組。
function getSheetData(){
var ss = spreadsheetApp.openById("1EpOCr_wjeYhn2YsQjRpAaUtaJNKv_4Rf81vnG59EvPA").getSheetByName("sheet");
var waardes, kleuren;
waardes = ss.getDataRange().getValues();
kleuren = ss.getDataRange().getBackgrounds();
return {waardes: waardes, kleuren: kleuren};
}
然后獲取index.html中的值
function showSheet(){
google.script.run.withSuccessHandler(showValuesandColors).getSheetData();
}
function showValuesandColors (myObj) {
var waardes = myObj.waardes;
var kleuren = myObj.kleuren;
}
您還可以返回一個數組,而不是像這樣的對象:
在code.gs中
function getSheetData(){
....
var resArr = [waardes, kleuren];
return resArr;
}
在index.html中
function showValuesandColors (myArr) {
var waardes = myArr[0];
var kleuren = myArr[1];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.