我不知道如何将行添加到特定位置总是会添加到表的末尾。
{
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();
}```
正如您在the official documentation中所看到的,通过spreadsheets.values.append
附加的值将附加“ 在表的最后一行之后”。使用append
,您无法确定要添加数据的确切位置。 API根据您指定的输入范围查找“表”,如here所述。
如果要在所需的确切位置添加行,则应首先(1)插入一个空白范围,然后(2)将所需的值写入该空白范围。您将必须执行两个连续的请求:
requests
中提供一个requests
。指定要将范围插入到的行和列索引(字段insertRange
request),以及是否应将先前存在的单元格向下或向右移动(字段insertRange
)。range
写入这些值(在shiftDimension
字段中定义)。检查spreadsheets.values.batchUpdate以获取详细说明。