google-apps-script - 如何自动更新单元格值?
问题描述
我使用谷歌应用程序脚本 setFormula() 来设置单元格值,例如"=importxml()"
我importxml()
用来获取html数据。
但是它不会自动更新数据,这是错误的。
我找到了解决问题的方法。
我从谷歌开发者指南中找到的触发器类,并使用该功能每分钟更新一次。
函数实际上是这样做的,但数据没有随着 html 数据的变化而变化。
我找到了另一种方式。在 google-sheet 设置上设置计算。但是有空。
我应该怎么做才能解决问题?
有没有我忽略的一些细节?
谢谢!
解决方案
在功能中importhtml()
,importxml()
Google 服务器上有一些缓存,并且短时间内 2 个请求不会触发对 URL 的真正查询。
强制方法是在 URL 中添加 #random 值,例如https://example.com#randomnumber
随机数可以是工作表的 random() 公式。
不幸的是,根据经验,当您拥有导入功能和脚本时,即使您添加spreadsheetApp.flush()
从我的角度来看,您不会拥有可以信任的真正实用的东西。在这种情况下,推荐的解决方案是urlFetch()
在应用程序脚本中使用和完成工作。
推荐阅读
- scope - Tcl:如何从不同的命名空间调用 proc,同时从其命名空间传递我的 proc 变量?
- c++ - 为什么 SFINAE 只适用于这两个看似相同的功能之一?
- c++ - 创建不可移动类型的 std::vector
- google-apps-script - 从扩展撰写 UI 的 gmail 插件创建草稿电子邮件
- python - Git python脚本从给定的sha提交id中提取所有以后的提交
- vb.net - 具有属性的类是子类中的项目列表
- html - 如何在不重叠网页内容的情况下减小背景图像的大小
- sql - 新老客户 sql
- angular - 在另一个服务中检测一个服务内的变化(Angular 7)
- python - 在 Python 中将日期更改为友好格式