【发布时间】:2020-06-15 15:51:32
【问题描述】:
我正在使用 Workbook wb = new XSSFWorkbook(); 导出一个 Excel 工作表,其中包含一个 DATE 列。即使将样式设置为 DATE,该列在 Excel 工作表中仍显示为 GENERAL。
这是我创建单元格的一段代码
Workbook wb = new XSSFWorkbook();
int rowValue = 1; CellStyle cellStyleOfHeaderRow = wb.createCellStyle(); CellStyle style = wb.createCellStyle();
Font fontOfCell = initializeCellFont(wb, cellStyleOfHeaderRow); initializeCellBorders(cellStyleOfHeaderRow); initializeCellFillOptions(cellStyleOfHeaderRow);
initializeCellBorders(style); CreationHelper createHelper = wb.getCreationHelper();
short dateFormat = createHelper.createDataFormat().getFormat("yyyy-MM-dd-hh.mm.ss");
style.setDataFormat(dateFormat);
打开导出的excel后,当我尝试将日期列的格式从GENERAL更改为DATE时,我无法这样做。
您能否建议一些代码或任何解决方案?
【问题讨论】:
-
向我们展示您迄今为止尝试过的代码。
-
你能先给我们看看你的代码吗?我的意思是应用单元格值和样式的那个...
-
好吧,请edit 将代码添加到您的问题中,而不是将其作为评论发布。我在您的评论中看到的是一个非常奇怪的日期时间模式:
yyyy-MM-dd-hh.mm.ss。小时的h应该大写,我不会在白天和小时之间加上连字符。也许,您正在阻止 Excel 将其解释为有效的日期时间......它不仅仅是一个日期,因为它也包含有关一天中的时间的信息。 -
style的代码看起来不错,能否请您说明如何将值和样式应用于日期单元格?
标签: java excel apache-poi