问候,
我正在尝试使用 Java API V4 向我的 Google 表格添加格式。
以下代码是我对将一系列列和行格式化为具有单个整数数字的 NUMBER 类型所需的内容的最佳理解。还有一列具有 DATE 格式。该代码不会返回任何错误,但也不会更改我的工作表上的格式,以便 eash 数值和日期在每个值前都有一个烦人的撇号,例如 '5 和 'Oct 26 2016 13:34。我一直在尝试格式化字段以删除工作表自动添加的撇号。
任何想法我做错了什么?
public static void setProperties(String spreadsheetId, int length) throws IOException {
List<Request> requests = new ArrayList<>();
requests.add(new Request()
.setRepeatCell(new RepeatCellRequest()
.setCell(new CellData()
.setUserEnteredFormat(new CellFormat().setNumberFormat(new NumberFormat().setPattern("0").setType("NUMBER"))))
.setRange(new GridRange()
.setSheetId(0)
.setStartRowIndex(3)
.setEndRowIndex(2 + length)
.setStartColumnIndex(3)
.setEndColumnIndex(22))
.setFields("userEnteredFormat.numberFormat")
));
requests.add(new Request()
.setRepeatCell(new RepeatCellRequest()
.setCell(new CellData()
.setUserEnteredFormat(new CellFormat().setNumberFormat(new NumberFormat().setPattern("0").setType("NUMBER"))))
.setRange(new GridRange()
.setSheetId(0)
.setStartRowIndex(3)
.setEndRowIndex(2 + length)
.setStartColumnIndex(24)
.setEndColumnIndex(24))
.setFields("userEnteredFormat.numberFormat")
));
requests.add(new Request()
.setRepeatCell(new RepeatCellRequest()
.setCell(new CellData()
.setUserEnteredFormat(new CellFormat().setNumberFormat(new NumberFormat().setPattern("mmm dd yyyy hh+:mm").setType("DATE"))))
.setRange(new GridRange()
.setSheetId(0)
.setStartRowIndex(3)
.setEndRowIndex(2 + length)
.setStartColumnIndex(23)
.setEndColumnIndex(23))
.setFields("userEnteredFormat.numberFormat")
));
BatchUpdateSpreadsheetRequest batchUpdateRequest = new BatchUpdateSpreadsheetRequest()
.setRequests(requests);
SHEETS.spreadsheets().batchUpdate(spreadsheetId, batchUpdateRequest)
.execute();
}
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-sheets</artifactId>
<version>v4-rev21-1.22.0</version>
</dependency>
谢谢,
康泰
最佳答案
检查这个问题 Google Sheet API V4(Java) append Date in cells ,其中报告了类似的问题。
此外,我使用了 Google Sheet API V3 和 Google Sheet API V4,该问题在 v3 中不存在。