我正在尝试创建一个阅读电子表格的Google脚本,然后将这些信息发送到简单的HTML,但我不知道如何将收集在Google脚本上的信息发送到java脚本。
以下是代码:
Google脚本
function doGet() {
return HtmlService.createHtmlOutputFromFile('index');
}
function getUserName() {
var ss = SpreadsheetApp.openById("1MRr0iZJoK-mfzIM6nMgycAg8BpPOCt3X-ndwYPZ3BeA").getActiveSheet();
var lastRow = ss.getLastRow();
var range = ss.getRange(2, 1, lastRow);
var Names = range.getValues();
return Names;
}
HTML和JavaScript
<script>
function createPost() {
var name[] = google.script.run.getUserName();
var Post_area = document.getElementById('post_area');
for(var i=0; i < qnt; i++){
var element = document.createElement("div");
element = div.innerHTML ='<img src="' + img[i] + '" alt="' + name[i] + '" id="image"><p"' + name[i] + '"></p>';
Post_area.appendChild(element);
}
return 0;
}
</script>
<section>
<article id="post_area">
</article>
</section>
谢谢!
答案 0 :(得分:4)
代码是你的,几乎没有修改:
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('index');
}
function getUserName() {
var ss = SpreadsheetApp.openById("0Ao02g19G1-G-dDF1M3MyMDJWODlFMkV4N1hDWThWZEE").getSheetByName("peoples")
var lastRow = ss.getLastRow();
var range = ss.getRange(2, 1, lastRow, 2);
var Names = range.getValues();
return Names;
}
和index.html页面:
<script>
window.addEventListener('load', function() {
google.script.run.withSuccessHandler(createPost).getUserName();
});
function createPost(name) {
name = name || google.script.run.getUserName();
var Post_area = document.getElementById('post_area');
Post_area.innerHTML="";
for(var i in name){
var element = document.createElement("div");
element.innerHTML ='<img src="' + name[i][0] + '" alt="' + name[i][1] + '" id="image"><p> ' + name[i][1] + '</p>';
Post_area.appendChild(element);
}
return 0;
}
</script>
<section>
<div> <h3>Starwar peoples</h3></div>
<article id="post_area">Loading....
</article>
<div> spreadsheet ref <a href="https://docs.google.com/a/ousset.net/spreadsheet/ccc?key=0Ao02g19G1-G-dDF1M3MyMDJWODlFMkV4N1hDWThWZEE&usp=drive_web#gid=1">here</a></div>
</section>
我改变了什么:
在index.html页面中我添加了window.addEventListener('load',function(){google.script.run.withSuccessHandler(createPost).getUserName();});
,因此它可以在脚本和页面中加载代码。
然后在您的代码中,我改变了调用电子表格数据的方式,因为您只调用一列(我需要两列数据来显示名称和网址)。
在页面的JS代码中,您引用了从未声明过的img[i]
。
我还为element = div.innerHTML
更改了element.innerHTML
并更改了for循环(因为我更喜欢按照我的方式进行操作,因为您对未声明的变量进行了循环)。
嗯,我认为这就是全部
祝你的其余代码好运。