google-sheets-api - 如何在表格中间插入一行。谷歌表格 API
问题描述
我不知道如何在某个地方添加一行总是添加到表格的末尾。
{
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();
}```
解决方案
正如您在官方文档中看到的那样,附加的值附加在spreadsheets.values.append
“表的最后一行之后”。使用append
,您无法确定要添加数据的确切位置。API 会根据您指定的输入范围查找“表格”,如此处所述。
如果要在所需的确切位置添加一行,则应首先 (1) 插入一个空范围,然后 (2) 将所需的值写入空范围。您必须执行两个连续的请求:
- 为了在您想要附加数据的位置插入空范围,请使用方法电子表格.batchUpdate并在字段
requests
中提供insertRange
请求。指定要将范围插入到的行和列索引(字段range
)以及是否应向下或向右移动先前存在的单元格(字段shiftDimension
)。 - 其次,一旦您的值是空单元格,您可以使用电子表格.values.batchUpdate来写入这些值(在 field 中定义
data
)。查看本指南以获取详细说明。
参考:
推荐阅读
- r - 如何根据某些字段在 R 中求和?
- apache-spark - 从 parquet 读取比 csv -pyspark 慢
- html - 如何使用 sass 函数作为变量值
- javascript - 在嵌套的 JS 对象数组中搜索 v-treeview
- xamarin - Xamarin 表单 - PostAsync 错误请求
- node.js - MongoStore:无法初始化客户端。不接受猫鼬连接对象
- pandas - pandas 数据框中 groupby.agg 的 N 最大 / idxmax
- google-analytics - 谷歌分析跨域跟踪不起作用 - 无法通过 cid
- scala - 具有动态数据类型的 UDF
- presto - Presto 中的“查询数据所在的位置”是什么意思?