如何在表格中间插入一行。 google sheet API

问题描述 投票:0回答:1

我不知道如何将行添加到特定位置总是会添加到表的末尾。

        {
            SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum valueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.RAW;
            SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum insertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;
            ValueRange requestBody = new ValueRange();
            requestBody.Range = range + "!A4:A";
            IList<Object> obj = new List<Object>();
            obj.Add("A2");
            obj.Add("B2");
            IList<IList<Object>> values = new List<IList<Object>>();
            values.Add(obj);
            requestBody.Values = values;
            SpreadsheetsResource.ValuesResource.AppendRequest request = service.Spreadsheets.Values.Append(requestBody, spreadsheetId, range+"!A4:A");
            request.ValueInputOption = valueInputOption;
            request.InsertDataOption = insertDataOption;

            AppendValuesResponse response = request.Execute();
        }```
google-sheets-api
1个回答
0
投票

正如您在the official documentation中所看到的,通过spreadsheets.values.append附加的值将附加“ 在表的最后一行之后”。使用append,您无法确定要添加数据的确切位置。 API根据您指定的输入范围查找“表”,如here所述。

如果要在所需的确切位置添加行,则应首先(1)插入一个空白范围,然后(2)将所需的值写入该空白范围。您将必须执行两个连续的请求:

  • 为了在要向其追加数据的空白区域插入,请使用方法spreadsheets.batchUpdate,并在field requests中提供一个requests。指定要将范围插入到的行和列索引(字段insertRange request),以及是否应将先前存在的单元格向下或向右移动(字段insertRange)。
  • 第二,一旦您要在其中保留数值的空单元格,您就可以使用range写入这些值(在shiftDimension字段中定义)。检查spreadsheets.values.batchUpdate以获取详细说明。

参考:

© www.soinside.com 2019 - 2024. All rights reserved.