[英]Output data from googlesheet via htmlservice using Google Apps Script
我的任务是从电子表格中提供数据。 奖品有多个位置。 我想使用html模板和HtmlService为用户提供服务
我准备了html模板,其中包含我想要提供服务数据的地方。 我编写了编写来自googleSheet的数据并存储在对象中的脚本。
谷歌应用程序环境中的js:
var htmlOutput = HtmlService
.createHtmlOutputFromFile('kosztorys.html')
.setWidth(500)
.setHeight(550)
SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'Some title');
我现在很困惑,不知道该怎么办。 我已经尝试过在互联网上找到的一些解决方案,但它不起作用。 如何将数据放入模板?
我的猜测是你需要这样的东西:
var htmlOutput = HtmlService
.createHtmlOutputFromFile('kosztorys')
.evaluate()
.setWidth(500)
.setHeight(550)
SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'Some title');
通常,您无需为文件名提供.html
,因为Google Script会为您添加。 所以在你的情况下,该程序正在寻找一个名为kosxtorys.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')
}
这是电子表格的样子:
这就是对话框的样子:
有很多方法可以从电子表格中输出数据,这很大程度上取决于您的数据。 但这是其中之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.