问候语,
我正在尝试使用Java API V4为我的Google表格添加格式。
以下代码是我对将一系列列和行格式化为NUMBER类型并使用单个整数数字所需要的内容的最佳理解。还有一列具有DATE格式。代码不会返回任何错误,但也不会改变我的工作表上的格式,使得eash数值和日期在每个值前面都有一个恼人的撇号,如'5和'2016年10月26日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>
谢谢, 康特
答案 0 :(得分:0)
检查此问题Google Sheet API V4(Java) append Date in cells,其中报告了类似问题。
此外,我使用了Google Sheet API V3和Google Sheet API V4,但v3中没有该问题。