【问题标题】:Auto update data in google spreadsheet when data in Json url changed by Apps Script当应用脚本更改 Json url 中的数据时,自动更新 Google 电子表格中的数据
【发布时间】:2015-07-11 03:39:22
【问题描述】:

我正在使用“Trevor Lohrbeer (@FastFedora)for ref. 的 ImportJSON”库将 JSON 提要导入 Google 电子表格。

简单地说,我只是将函数 =ImportJSON(url, query, options) 输入到单元格中,单元格将在那里返回数据。

一切都很好,但是当 url 中的 JSON 数据发生变化时,google 电子表格中的数据不会自动更新。我必须再次将函数重新输入单元格或手动刷新脚本才能完成。

那么任何人都可以向我提出一些解决方案吗?

【问题讨论】:

  • 你会发现公式重新计算的解释in this answer,这至少可以帮助你了解情况。自从 GOOGLECLOCK 函数停用以来,没有公式会触发自动重新计算。

标签: json caching google-apps-script google-sheets


【解决方案1】:

只有当它引用的单元格发生更改时,才会重新计算表格中的 UDF。在1 上有一些建议,我建议设置触发器,每次您都重新计算工作表:

  • 重新打开
  • 更改单元格 - 取决于您使用数据的程度
  • 使用时间驱动的脚本定期重新计算

【讨论】:

    【解决方案2】:

    问题解决了。

    我使用 T J 回答的方法和建议链接。 我在原来的函数中多加了一个参数,比如 $A$1

    =myFunction(firstParam, $A$1)

    在我的 gs 中再添加一项功能

    function onEdit(e)
    {SpreadsheetApp.getActiveSheet().getRange('A1').setValue(Math.random());}
    

    然后当工作表中有任何编辑或触发 onedit(e) 时,单元格将被更新。

    最后,我使用触发计时器每分钟触发一次 onedit 以使数据保持更新!

    谢谢!

    PS: 以前,触发设置对我不起作用,因为 importjson 功能仅用于触发整个 importjson.gs 而不是像触发菜单中的设置那样单独触发功能。

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多