如何从图表 google 脚本的电子表格中检索数据。 (使用 HTML 服务)

How to retrieve data from spreadsheet for chart google script. (Using HTML Service)

嘿很好 morning/afternoon/evening 取决于你们在哪里!

请问你们一个简短的问题。我一直坚持这个问题,我试着环顾四周,但我似乎找不到这个特定问题的答案。

所以我正在尝试使用 google 脚本和 html 服务来创建柱形图(因为它们的 UIApp 服务现在已经过时了)。我正在尝试从已经创建的电子表格中检索数据。但是当我使用这段代码时,页面出现空白,好像后台出现了一些错误。

var sheet = SpreadsheetApp.openById("1gdRB6FFV426bAj95C0xJlqSucnnX0Z5ATVQdC2");

所以这里有一些细节:

1) 我将这一行放在我的 Index.html 文件中的一个函数中,我调用了

drawChart();

2) 我把它们包裹在这个标签里了。

<script type="text/javascript">

3) 我知道这行代码是问题的原因,因为一旦我将其注释掉,就会弹出带有临时数据的临时图表,并且页面运行正常。但是一旦取消注释,它就会清空整个页面。

有什么想法吗?

我想知道我是否必须将这行代码实际放置在 "Code.gs" 文件中,然后了解如何将数据从 Code.gs 传输到我的 Index.html 文件。如果是这样的话,任何人都可以指出我可以按照指示去做的方向吗?

提前谢谢大家。

真诚的, 西卡里克斯

您必须使用 withSuccessHandler(functionNameToReceiveData)

<script>
  function getData() {
    google.script.run
      .withSuccessHandler(functionNameToReceiveData)
      getData();
  };

  function functionNameToReceiveData(theDateReceivedHere) {
    Logger.log('theDateReceivedHere: ' + theDateReceivedHere;

  };
</script>

您不能使用:var data = google.script.run.getData(); 您必须使用 withSuccessHandler(functionNameToReceiveData)

@桑迪好

嘿伙计,我要感谢你的所有帮助。你的回答其实很棒。但是除了你纠正我的错误之外,还有一个错误。在我的实际电子表格中,我将其作为 "Date" 值。但是格式与我 "dataTable" 中的数据类型不匹配。它现在正在工作。我做了您告诉我的所有更改,但另外我将值类型从 "Date" 更改为 "Text"。然后在我的 for 循环中,我使用文本作为格式编写了一个 "new Date()" 函数,这里工作的是一些屏幕截图来显示我的最终结果。

link

link