Google Apps 脚本和 HTML 服务;如何引入电子表格值以显示在我的 .html 页面上?
Google Apps Script and HTML Service; how do I bring in Spreadsheet values to display on my .html page?
使用 Google Apps 脚本和 HTML 服务如何将特定的数据单元格引入我的 index.html 页面?
基本上我的 'getdata' 函数确实可以获取我的电子表格数据,但我的 'getdata2' 需要一点帮助。我希望有人可能有想法可以让我继续前进。
我有一些代码,我认为可以帮助您了解我的期望。
index.html 关注
<H1>Hope to get data from a spreadsheet</H1>
<div id="myDataDiv">
<? var data = getData(); ?>
<?= data ?>
</div>
<Hr>
<div id="myDataDiv2">
<? var data2 = getData2(); ?>
<?= data2.mySingleValue ?><br />
<?= data2.mySingleValue2 ?>
</div>
code.gs 关注
var submissioSSKey = '1Jyc2XmgQ7ffuRDpieT_DyJIUWVWi-9UUn2vAQqr_zJY';//this is an altered key
function doGet() {
return HtmlService
.createTemplateFromFile('index')
.evaluate()
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function getData() {
return SpreadsheetApp
.openById(submissioSSKey)
.getActiveSheet().getRange("B3").getValue();
}
function getData2() {
var ss = SpreadsheetApp.openById(submissioSSKey);
var mySingleValue = ss.getSheetByName('Sheet1').getRange('B3').getValue(); //hoping for value 1
var mySingleValue2 = ss.getSheetByName('Sheet1').getRange('B4').getValue(); //hoping for value 2
}
这是我测试过的适用于我的解决方案。
只使用一个功能。
function getData(argWhatCell) {
Logger.log("argWhatCell: " + argWhatCell);
var returnValue = SpreadsheetApp.openById("My Sheet ID").getActiveSheet().getRange(argWhatCell).getValue();
Logger.log("returnValue: " + returnValue);
return returnValue;
}
请注意,函数 getData(argWhatCell)
必须获得传递给它的字符串,即您要检索的 sheet 单元格。
多次使用同一个函数 getData()
而不是拥有多个函数。
传递要从 HTML 中检索的单元格。您不需要 getData2()
函数。
<H1>Hope to get data from a spreadsheet</H1>
<div id="myDataDiv">
<? var data = getData("B3"); ?>
<?= data ?>
</div>
<Hr>
<div id="myDataDiv2">
<? var data2 = getData("B3"); ?>
<?= data2 ?>
<? var data3 = getData("B4"); ?>
<?= data3 ?>
</div>
如果你想通过运行函数一次获取所有数据,你需要创建一个数组,然后return将数组传给scriptlet。一旦将数据检索到脚本中,就可以访问数据接收数据的变量。
您的函数 getData2() 没有返回任何值,因此没有任何内容传递给您的 HTML scriptlet 中的 data2 变量。
试试这个:
function getData2() {
var ss = SpreadsheetApp.openById(submissioSSKey);
var myValues = {};
myValues["mySingleValue"] = ss.getSheetByName('Sheet1').getRange('B3').getValue(); //hoping for value 1
myValues["mySingleValue2"] = ss.getSheetByName('Sheet1').getRange('B4').getValue(); //hoping for value 2
return myValues;
};
使用 Google Apps 脚本和 HTML 服务如何将特定的数据单元格引入我的 index.html 页面?
基本上我的 'getdata' 函数确实可以获取我的电子表格数据,但我的 'getdata2' 需要一点帮助。我希望有人可能有想法可以让我继续前进。
我有一些代码,我认为可以帮助您了解我的期望。
index.html 关注
<H1>Hope to get data from a spreadsheet</H1>
<div id="myDataDiv">
<? var data = getData(); ?>
<?= data ?>
</div>
<Hr>
<div id="myDataDiv2">
<? var data2 = getData2(); ?>
<?= data2.mySingleValue ?><br />
<?= data2.mySingleValue2 ?>
</div>
code.gs 关注
var submissioSSKey = '1Jyc2XmgQ7ffuRDpieT_DyJIUWVWi-9UUn2vAQqr_zJY';//this is an altered key
function doGet() {
return HtmlService
.createTemplateFromFile('index')
.evaluate()
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function getData() {
return SpreadsheetApp
.openById(submissioSSKey)
.getActiveSheet().getRange("B3").getValue();
}
function getData2() {
var ss = SpreadsheetApp.openById(submissioSSKey);
var mySingleValue = ss.getSheetByName('Sheet1').getRange('B3').getValue(); //hoping for value 1
var mySingleValue2 = ss.getSheetByName('Sheet1').getRange('B4').getValue(); //hoping for value 2
}
这是我测试过的适用于我的解决方案。
只使用一个功能。
function getData(argWhatCell) {
Logger.log("argWhatCell: " + argWhatCell);
var returnValue = SpreadsheetApp.openById("My Sheet ID").getActiveSheet().getRange(argWhatCell).getValue();
Logger.log("returnValue: " + returnValue);
return returnValue;
}
请注意,函数 getData(argWhatCell)
必须获得传递给它的字符串,即您要检索的 sheet 单元格。
多次使用同一个函数 getData()
而不是拥有多个函数。
传递要从 HTML 中检索的单元格。您不需要 getData2()
函数。
<H1>Hope to get data from a spreadsheet</H1>
<div id="myDataDiv">
<? var data = getData("B3"); ?>
<?= data ?>
</div>
<Hr>
<div id="myDataDiv2">
<? var data2 = getData("B3"); ?>
<?= data2 ?>
<? var data3 = getData("B4"); ?>
<?= data3 ?>
</div>
如果你想通过运行函数一次获取所有数据,你需要创建一个数组,然后return将数组传给scriptlet。一旦将数据检索到脚本中,就可以访问数据接收数据的变量。
您的函数 getData2() 没有返回任何值,因此没有任何内容传递给您的 HTML scriptlet 中的 data2 变量。
试试这个:
function getData2() {
var ss = SpreadsheetApp.openById(submissioSSKey);
var myValues = {};
myValues["mySingleValue"] = ss.getSheetByName('Sheet1').getRange('B3').getValue(); //hoping for value 1
myValues["mySingleValue2"] = ss.getSheetByName('Sheet1').getRange('B4').getValue(); //hoping for value 2
return myValues;
};