blu*_*yke 2 google-sheets node.js google-api-nodejs-client google-sheets-api
众所周知,为了从 Google Sheets API 中的行列中获取值,格式如下:
gapi.client.sheets.spreadsheets.values.get({
spreadsheetId: id,
range: "myData!A1:E"
}).then(res => {
console.log(res.result);
}, err => console.log(err));
Run Code Online (Sandbox Code Playgroud)
请注意,“范围”必须在特定参数内,但如何简单地获取最大范围内的值?是否有像“myData!Min:Max”这样的简写?我知道您可以提出另一个请求来获取最大行和列长度:
sheets.spreadsheets.get({
spreadsheetId: id,
ranges: [],
auth: something
}, (err, resp) => {
var sheetOne = resp.data.sheets[0];
console.log(sheetOne.properties.gridProperties); // { rowCount: 1024, columnCount: 7 } (for example)
})
Run Code Online (Sandbox Code Playgroud)
然后一旦我有了,理论上我可以使用数字到字母的切换系统自动生成范围字符串以获取列字母名称或类似的内容,并发出另一个请求以获取最大列,但首先:
有什么办法可以用 API 来做到这一点吗?
Mar*_*rst 11
要返回名为 的工作表中的所有单元格myData,您可以使用myData, 而不是myData!A1:E:
gapi.client.sheets.spreadsheets.values.get({
spreadsheetId: id,
range: "myData"
}).then(res => {
console.log(res.result);
}, err => console.log(err));
Run Code Online (Sandbox Code Playgroud)
关于你的第二个问题,据我所知,没有办法使用A1表示法仅获取其中包含非空值的范围。
但是,一旦 api 返回这些值,您就可以迭代这些值来确定哪些值具有值。
来自https://developers.google.com/sheets/api/guides/concepts
A1 表示法:
某些 API 方法需要 A1 表示法的范围。这是一个类似于 的字符串Sheet1!A1:B2,它引用电子表格中的一组单元格,通常在公式中使用。例如,有效范围是:
| 归档时间: |
|
| 查看次数: |
8363 次 |
| 最近记录: |