我想通過谷歌應用程序腳本在谷歌工作表中右側欄中使用嵌入式html。訪問工作表的單元格並將其顯示在html5 canvas元素上。我已經創建了一個Code.gs文件和一個html索引文件ahd已經成功地獲得了電子表格以生成一個右邊欄,其內容是包含Canvas元素的HTML文件。這工作使用從嵌入式HTML文件網站訪問谷歌工作表條目
function openSidebar() {
var html = HtmlService.createHtmlOutputFromFile('index');
SpreadsheetApp.getUi().showSidebar(html);
}
現在我想要顯示在畫布元素上的一些電子表格單元格條目。我的第一個任務是使用此方法在側邊欄上創建一個箱形圖。我有五個單元格包含五點總結:min,Q1,Median,Q3,Max,但無法獲取canvas元素來訪問這些值。這裏是行不通:
直接訪問細胞<script> </script>
標籤之間通過調用諸如範圍:
var range = statsSheet.getRange(4,4);
var min = range.getValue();
因爲statsSheet是在Code.gs文件中創建它不工作。
如果兩行代碼直接在Code.gs文件中,但它們確實能夠找到單元格值,但是min不能被html文件中的代碼訪問。
我也試圖創建一個單獨的文件.GS(boxPlot.gs),並使用
<script src = "boxPlot.gs"> </script>
導入,但仍然無法正常工作。我無法訪問變量min_this它是一個全局變量或boxPlot.gs文件中函數的返回值。
我希望探討如何實現的僞代碼的任何幫助:<html> create canvas;<script> add min which resides at cell (4,4) as text onto the canvas; </script></html>
感謝
感謝您的幫助,但我仍然有麻煩讓從Code.gs文件傳遞給變量的值index.html中的<script> </script>
代碼。使用你的建議,我能夠運行doSomething()函數,但返回值無法讀入。例如在Code.gs文件中,我有 doSomething(){「Hello World 「); }
,並在HTML頁面中,我有
<script>
console.log(google.script.run.doSomething());
</script>
這使 「未定義」 控制檯,而不是 「Hello World」 的上。 當然,我希望能夠閱讀更復雜的元素,比如表單條目,但是如果我甚至無法讀取「Hello World」返回值,複雜的任務將無法工作。任何建議將不勝感激。
不要把括號放在返回值的周圍。只需使用'return「Hello World」;' –