javascript - 根据列中的值过滤 Google 表格

标签 javascript node.js google-sheets google-sheets-api google-api-nodejs-client

我需要使用 Sheets API 读取 Google 表格。我可以获取所有行,但是由于这些行数以万计并且将继续增长,因此我需要找到一种方法来过滤它们而不获取所有行。

我只需要一个带有一个或多个列的相等条件的 SQL WHERE 子句。例如,有一个phoneNumber 列,它是工作表中的C 列。我只需要获取该列的值等于某个值的行。

我目前正在使用 Google Sheets V4 API for Node.js 。我正在使用 get api ,但由于它只有 range 作为唯一可用的过滤器选项,我想尝试 getByDataFilter api假设它提供了某种过滤数据的方法。

不幸的是,getByDataFilter API 中唯一的好方法是使用 GridRangeDataFilter 。除了使用行和/或列范围之外,这仍然不允许我提供任何条件来过滤数据。

那么有什么方法可以在不获取所有行的情况下做到这一点吗?我无法修改该特定工作表。我现在能找到的唯一方法是在午夜运行一个 cron 作业,将数据与数据库同步,然后查询数据库。
有没有更好的方法来过滤数据?

最佳答案

您可以直接在网址上使用Google可视化查询:

如果您的网址是

docs.google.com/spreadsheets/d/id

并且您想要Select A,sum(B) group by A, 使用:

docs.google.com/spreadsheets/d/id/gviz/tq?tq="your encoded query here"  
https://docs.google.com/spreadsheets/d/1r8_mfnZAvTFmT02JHi1XgOwn_-sLCR9XgmR8wEQ4uW4/gviz/tq?tq=select%A%2C%20sum(B)%20group%20by%20A
<小时/>

关于javascript - 根据列中的值过滤 Google 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49651836/

相关文章:

java - 只需在浏览器地址栏添加网址即可

javascript - 如何在 React setState 中使用方括号?

javascript - 如何使用过滤器对 ng-repeat 数组中的对象进行分组?

javascript - 播放dialogflowAPI音频响应的Web应用程序

node.js - Node 以错误退出状态结束 3221225786

JavaScript( Node )错误 : Unexpected token function

javascript - 返回 'Range' 而不是 Google Apps 脚本中的实际字符串

javascript - 在 JS 和 PHP 中匹配 sec256k1 key

javascript - 触发 Google 表格功能写入单元格

google-sheets - 如何准确识别 Google 表格中的错误类型?