【发布时间】:2020-05-07 17:49:05
【问题描述】:
我有一张每天都会更新数据的表格。我正在使用 Java Sheets API v4 在我的 java 应用程序中加载数据,我需要在我的工作表上进行增量加载。有没有办法有效地做到这一点?
这是我的电话,但这每次都会加载所有数据,是否可以添加过滤器以在特定日期后更新行? (考虑到表格没有时间戳列,我可以使用该行的插入/修改日期吗?)
ValueRange response = service.spreadsheets().values()
.get(spreadsheetId, range)
.execute();
如果有时间戳列,有没有办法在加载之前过滤数据?
【问题讨论】:
-
服务器不过滤,必须本地过滤。在 v3->v4 转换中删除了“结构化查询”。可能您应该做的只是查询您的“键”列,检查它以找出要提取的值,然后使用批处理获取要提取的相关行中的值。您还可以利用其他 Drive API 来检查审核日志并确定哪些行或工作表或 w/e 已被修改。但从根本上说,电子表格不是数据库,因此它们不关心上次修改行的时间。
-
@tehhowch 你试过batchGetByDataFilter吗?是否可以将其设置为列值 = x 的位置?或者如何在 java sheet API 中使用查询语言
-
我没用过;查看resource schema 足以表明您必须已经知道要检索的范围。您不能对 Sheets API v4 端点执行“查询”。一个“查询”包括“where column value = x”
标签: java google-sheets google-api google-sheets-api