【发布时间】:2023-03-09 20:10:01
【问题描述】:
我正在使用 Apache POI 3.11 版本在 Java 中读写 excel 文件
在我的输入 excel 文件中,我有一列包含日期。日期可以是任何格式,例如 dd/mm/yyyy hh:mm 或 yy/mm/dd 等。在读取文件时,我可以获取任何格式的日期。
当我创建新的 excel 文件作为输出时,我想写日期列。但我想使用与输入 excel 文件中相同的日期格式。
有什么方法可以让我得到输入 excel 文件中的日期格式(在屏幕截图上方,您可以看到日期为 mm/dd/yyyy hh:mm:ss PM 格式)
我不想使用***getCellStyle*** 函数,因为它会返回完整的单元格样式,包括字体颜色、背景颜色等。
我只想要输入 Excel 文件中存在的单元格的日期格式信息。
我正在尝试的方式:
CellStyle outputStyle = wb.createCellStyle();
Font textFont = wb.createFont();
textFont.setFontName("Arial");
textFont.setFontHeightInPoints((short) 10);
textFont.setColor(IndexedColors.BLACK.getIndex());
.setFont(textFont);
if (DateUtil.isCellDateFormatted(icell)) {
outputStyle.setDataFormat(icell.getCellStyle().getDataFormat());
ocell.setCellValue(icell.getDateCellValue());
}
ocell.setCellStyle(outputStyle);
它正在将单元格中的日期值写为数字。
【问题讨论】:
标签: java excel apache date apache-poi