Google apps script 如何让谷歌表单检索电子表格数据并将其显示在谷歌网站上?
期望的结果:能够在Google表单中输入搜索词(可能是但不一定是;可能是标准网页中的表单),并从Google表单中检索相关数据,并在Google Site web app中显示 在这个问题中,我学习了如何从参数化URL检索数据并在Google站点中显示:Google apps script 如何让谷歌表单检索电子表格数据并将其显示在谷歌网站上?,google-apps-script,google-sites,Google Apps Script,Google Sites,期望的结果:能够在Google表单中输入搜索词(可能是但不一定是;可能是标准网页中的表单),并从Google表单中检索相关数据,并在Google Site web app中显示 在这个问题中,我学习了如何从参数化URL检索数据并在Google站点中显示: 因此,检索和显示电子表格数据的“技术”是存在的,但是当涉及到从在线表单而不是URL中提取数据时,我不知道从哪里开始。也许在提交时,以某种方式读取表单值,创建一个参数化URL并转到该页面以显示数据?这个示例如何?这是一个非常简单的示例脚本。请根据
因此,检索和显示电子表格数据的“技术”是存在的,但是当涉及到从在线表单而不是URL中提取数据时,我不知道从哪里开始。也许在提交时,以某种方式读取表单值,创建一个参数化URL并转到该页面以显示数据?这个示例如何?这是一个非常简单的示例脚本。请根据您的环境修改它。此示例使用搜索文本检索电子表格上的数据,并显示匹配的行。为了使用此样本,请执行以下操作
函数dispData(e){
$('#disp').text(JSON.stringify(e));
}
函数getData(e){
google.script.run.withSuccessHandler(dispData.getData)(e);
}
电子表格示例:
结果:
如果我误解了你的问题,我很抱歉。非常感谢。不幸的是,当我发布该文件,然后将URL复制到一个新选项卡并按enter键时,我收到一条消息:“对不起,此时无法打开该文件。请检查地址,然后重试。”@MrGreggles对于给您带来的不便,我深表歉意。现在我再次确认这个脚本工作正常。修改脚本后,必须更新项目版本。这样,Web应用程序就可以使用最新的脚本。如果您想知道如何获取URL,请确认或。@MrGreggles如果不起作用,请创建一个新项目,复制并粘贴脚本并运行它。即使你这样做了,如果它不起作用,我能问一下你做的细节流程吗?谢谢你的友好回复。我让它工作,然后它就不工作了;然后成功了,然后失败了。等我休息好了再看一遍。但它看起来很有希望,我真的很感谢你在这里的努力@格雷格尔斯先生,很抱歉给您带来不便。我想解决你的问题。如果你允许的话,我可以确认你的剧本吗?我认为,当问题的一部分,即脚本或配置被发现时,它接近解决方案。
function doGet() {
return HtmlService.createTemplateFromFile('index').evaluate();
}
function getData(e) {
var id = "### Spreadsheet ID ###";
var sheetname = "### Sheet name ###";
var data = SpreadsheetApp.openById(id).getSheetByName(sheetname).getDataRange().getValues();
var ar = [];
data.forEach(function(f) {
if (~f.indexOf(e.searchtext)) {
ar.push(f);
}
});
return ar;
}
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form>
<input type="text" name="searchtext">
<input type="button" value="ok" onClick="getData(this.parentNode)" />
</form>
<pre id="disp"></pre>
<script>
function dispData(e) {
$('#disp').text(JSON.stringify(e));
}
function getData(e) {
google.script.run.withSuccessHandler(dispData).getData(e);
}
</script>