众所周知,为了从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));
请注意,“范围”必须在特定参数之内,但是如何简单地获得最大范围内的值?是否有类似“ 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)
})
,然后一旦有了,我就可以从理论上自动使用数字到字母的交换系统自动生成范围字符串,以获取列字母名称或类似名称,并再次请求获取最大列,但首先全部:
使用API执行此操作的任何方法?
答案 0 :(得分:1)
要返回名为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));
关于您的第二个问题,据我所知,无法使用A1表示法仅获取其中包含非空值的范围。
但是,一旦api返回了值,就可以遍历这些值以确定哪些值。
来自https://developers.google.com/sheets/api/guides/concepts
A1表示法
某些API方法需要A1表示法的范围。这是一个类似于Sheet1!A1:B2
的字符串,它表示电子表格中的一组单元格,通常在公式中使用。例如,有效范围是: