【发布时间】:2019-11-27 14:09:35
【问题描述】:
我正在尝试使用工作表 API (https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/update) 更新特定范围:
更新请求的主体必须是 ValueRange 对象,但唯一必需的字段是值。如果指定了范围,则它必须与 URL 中的范围相匹配。在 ValueRange 中,您可以选择指定它的 majorDimension。默认情况下,使用 ROWS。如果指定了 COLUMNS,则每个内部数组将写入一列而不是一行。更新时,将跳过没有数据的值。要清除数据,请使用空字符串 ("")。
当我尝试通过发送数据来更新特定单元格时,例如:
[
[null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 5523, null, null, null, null, null, null, null, P],
[null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 5526, null, null, null, null, null, null, null, P]
]
范围是“SheetName!A2:AA3”。
更新的单元格是 A2 B2 和 A3 B3。 知道为什么会这样吗? 谢谢。
以下是导致此问题的示例: 该表最初是:
代码是:
String spreasheetId = "<SpreadsheetId>";
ValueRange valueRange = new ValueRange();
valueRange.setRange("Sheet15!A2:C4");
valueRange.setMajorDimension("ROWS");
List<Object> ob = Arrays.asList(null,"4",null);
List<Object> ob1 = Arrays.asList(null,"10",null);
List<List<Object>> list = Arrays.asList(ob,new ArrayList<>(),ob1);
valueRange.setValues(list);
sheetService.spreadsheets().values().update(spreasheetId, valueRange.getRange(), valueRange).setValueInputOption("RAW").execute();
我运行代码后的表格是这样的:
虽然应该是:
【问题讨论】:
-
你能提供你用来执行更新的代码吗?
-
请提供您发出的代码/完整请求。我试过参考中的API测试器,得到的结果是正确的(见:here)
-
你好。感谢您的回答。您可以看到问题中的代码