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

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

本文关键字:数据 检索 使用 HTML 服务 电子表格 谷歌 脚本      更新时间:2023-09-26

嘿,早上/下午/晚上好,取决于你们在哪里!

只要有一个简单的问题要问你们。我已经坚持了一段时间,我尝试环顾四周,但我似乎找不到这个特定问题的答案。

所以我正在尝试使用带有 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)

@Sandy 好

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

链接

链接