我在Google Sheets电子表格中更新了四个Sheets中的结果数据。我想在外部显示器(屏幕/投影仪(上依次显示每张纸的实时内容,每次更换纸之间的更新率为10到15秒。我一直找不到任何完整的解决方案。
我看过的东西:
-
将每个页面的数据复制到谷歌幻灯片中,保持实时数据更新。然后发布四张幻灯片,指定刷新率。这是有效的,但当源工作表中的数据发生更改时,它不会更新幻灯片出版物。您必须进入幻灯片并手动刷新。然后,您还必须刷新显示已发布幻灯片的网页。它确实有效,但我真的希望在图纸中的数据更新后立即更新显示。
-
显示谷歌表格本身,并具有每10秒依次选择每张表格的机制。这感觉是可以做到的,有了一点AppsScript Java,我可以选择单独的工作表。我一直无法解决的问题是,触发器的最短计时器是1分钟,而且我无法获得"触发"功能来选择图纸。我认为触发器的上下文可能会阻止这种工作。
-
使用"其他东西"从谷歌工作表中提取数据,并创建实时更新显示。我一直找不到能做到这一点的东西。我怀疑有比我更好的网络编码的人可以做到这一点,但我尽量不要变得太复杂。
收到任何建议。
您可以创建一个本地HTML文件,在iframe中显示电子表格,并将iframe URL更改为下一个每15秒一张。通过这种方式,页面将使用本地JavaScript更新,而不是使用GAS触发器,因此你不必等一分钟。
- 将下一个代码保存为HTML文件
- 更新spreadsheetUrl和sheetId变量
- 在浏览器中打开文件(我推荐Firefox(
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
</head>
<body>
<iframe id="iframe1" src="" style="position:fixed; top:0; left:0; bottom:0; right:0; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;"> Your browser doesn't support iframes
</iframe>
</body>
<script>
var spreadsheetUrl = "https://docs.google.com/spreadsheets/d/123/edit#gid=";
var sheetIds = ["12345", "23456", "34567", "45678"];
var currentSheet = 0; //0-3
var myIframe = document.getElementById("iframe1");
// Initializes iframe
myIframe.src = spreadsheetUrl + sheetIds[currentSheet];
// Updates iframe very 10,000 milliseconds
setInterval(function() {
// Increases sheet
currentSheet++;
// If 4th sheet has been shown, then go back to 1st sheet
if (currentSheet > 3)
currentSheet = 0;
// Updates iframe
myIframe.src = spreadsheetUrl + sheetIds[currentSheet];
}, 10000);
</script>
</html>