Google Sheets v4 .NET 批量获取第一行的 A1 符号,然后所有行从另一行开始

Google Sheets v4 .NET batch get A1 notation for first row then all rows starting from another row

全新的 Google 工作表 API 和 A1 符号语法。

我想批量获取单独获取第一行,然后获取指定行之后的所有行。

我很确定 'Sheetname'!1:1 会让我单独排在第一行(对吗?),但是 "Row 7 and any rows after row 7" 的 A1 表示法是什么?

请记住,我使用的是 .NET Google Sheets v4 API,所以我正在做类似的事情:

SpreadsheetsResource.ValuesResource.BatchGetRequest request = service.Spreadsheets.Values.BatchGet(MY_SPREADSHEET_ID);

request.DateTimeRenderOption = SpreadsheetsResource.ValuesResource.BatchGetRequest.DateTimeRenderOptionEnum.FORMATTEDSTRING;

request.Ranges = // what goes here?

这应该可以解决问题:

=ARRAYFORMULA({Sheetname!1:1; INDIRECT("Sheetname!7:"&MAX(ROW(A1:A)))})

或者也许:

=ARRAYFORMULA({Sheetname!1:1; Sheetname!7:999999})

原来这样做的方法是指定范围开始的行和第一列,然后指定一个超出你已知列的没有指定行的列来获取所有包含数据的行在范围开头指定的行之后。

对于 .NET 表格 API,指定多个范围的方法是使用 List<string>

在我的特殊情况下,我的列在 N 处结束,所以我知道第 Z 列远远超出了任何数据,所以这可以让我获得第一行,然后是第 7 行以及第 7 行之后包含数据的所有行:

request.Ranges = new List<string>
{
    "Sheetname!A1:Z1",
    "Sheetname!A7:Z"
};