我目前正在使用谷歌脚本构建一个网络应用程序,该脚本正在读取和显示来自谷歌电子表格的实时数据。但是,如果电子表格更新,我希望它自动更新显示的内容,
我一直在尝试使用时间触发器来刷新应用程序,但没有任何乐趣......它与旧数据保持静态。
任何人都可以帮助我吗?
function doGet(e) {
var app = UiApp.createApplication().setTitle('Customer Queue App');
var ss = SpreadsheetApp.openById("SHEET_IDHERE");
app.add(app.createLabel(new Date()).setId("label"))
var mypannel = app.createHorizontalPanel();
var mypannel = app.createHorizontalPanel();
var ss = SpreadsheetApp.openById("sheetID_HERE")
var nc11 = ss.getRange("a2")
var nc12 = ss.getRange("b2")
var nc13 = ss.getRange("c2")
var nc14 = ss.getRange("d2")
var nc15 = ss.getRange("e2")
var nc16 = ss.getRange("f2")
var nc17 = ss.getRange("g2")
var nc21 = ss.getRange("a3")
var nc22 = ss.getRange("b3")
var nc23 = ss.getRange("c3")
var nc24 = ss.getRange("d3")
var nc25 = ss.getRange("e3")
var nc26 = ss.getRange("f3")
var nc27 = ss.getRange("g3")
var nv11 = nc11.getValue()
var nv12 = nc12.getValue()
var nv13 = nc13.getValue()
var nv14 = nc14.getValue()
var nv15 = nc15.getValue()
var nv16 = nc16.getValue()
var nv17 = nc17.getValue()
var nv21 = nc21.getValue()
var nv22 = nc22.getValue()
var nv23 = nc23.getValue()
var nv24 = nc24.getValue()
var nv25 = nc25.getValue()
var nv26 = nc26.getValue()
var nv27 = nc27.getValue()
var mygrid = app.createGrid(5, 7).setId("grid");
mygrid.setWidget(0, 0, app.createLabel(nv12));
mygrid.setWidget(0, 1, app.createLabel(nv13));
mygrid.setWidget(0, 2, app.createLabel(nv14));
mygrid.setWidget(0, 3, app.createLabel(nv15));
mygrid.setWidget(0, 4, app.createLabel(nv16));
mygrid.setWidget(0, 5, app.createLabel(nv17));
mygrid.setWidget(0, 6, app.createButton("Clear Customer").setId("cc1"));
mygrid.setWidget(1, 0, app.createLabel(nv22));
mygrid.setWidget(1, 1, app.createLabel(nv23));
mygrid.setWidget(1, 2, app.createLabel(nv24));
mygrid.setWidget(1, 3, app.createLabel(nv25));
mygrid.setWidget(1, 4, app.createLabel(nv26));
mygrid.setWidget(1, 5, app.createLabel(nv27));
mygrid.setWidget(1, 6, app.createButton("Clear Customer").setId("cc2"));
mygrid.setStyleAttribute("fontSize","65pt");
mygrid.setStyleAttribute("margin-top","5px");
mygrid.setStyleAttribute("font-weight","bold");
mygrid.setStyleAttribute("color","black");
mypannel.add(mygrid);
app.add(mypannel);
app.addTimer(app.createServerHandler("update") , 1000);
return app;
}
function update(e){
var app = UiApp.getActiveApplication();
var ss = SpreadsheetApp.openById("SHEETIDHERE")
app.getElementById("label").setText(new Date());
app.getElementById("grid").setVisible(true);
app.addTimer(app.createServerHandler("update") , 1000);
return app;
}