【发布时间】:2016-10-26 13:44:00
【问题描述】:
问候,
我正在尝试使用 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>
谢谢, 联系方式
【问题讨论】:
-
不确定这是否有帮助,但您是否检查过表格 API 的日期和 Number Formats guide?
-
是的,我在开发代码时查看了该文档。我相信这些模式是正确的。