在使用Apache POI处理Excel时,如何处理日期格式?

3
我使用apache poi来使用java编写excel文件。我需要的是一种在编写日期变量时可以“直接”使用格式代码来格式化日期的方法,例如“dddd dd/mm/yyyy”。 BuiltInFormats似乎不完全包含我所需的内容。 我认为最优解决方案将使用XSSFCellStyle实例的精心设置来实现目标。

你可以定义自己的数据格式,例如short,并将其设置为XSSFCellStyle。 - XtremeBaumer
2个回答

4

我最近也遇到了这个问题。看看下面的例子吧,当使用XSSF时,它应该是非常相似的。

    CreationHelper creationHelper = hssfWorkbook.getCreationHelper();
    cellStyle.setDataFormat(creationHelper.createDataFormat().getFormat(("dd.MM.yyyy")));
    HSSFCell c1 = hssfRow.createCell(0);
    HSSFCellUtil.setCellStyleProperty(c1, hssfWorkbook, CellUtil.DATA_FORMAT,
            HSSFDataFormat.getBuiltinFormat(("dd.MM.yyyy")));
    c1.setCellStyle(cellStyle);
    c1.setCellValue(HSSFDateUtil.getExcelDate(new java.util.Date()));

2
我使用以下代码解决了问题(workbook和cell已经定义为XSSFWorkbook和XSSFCell):
CreationHelper creationHelper = workbook.getCreationHelper();
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(creationHelper.createDataFormat().getFormat("dddd dd/mm/yyyy"));
cell.setCellStyle(cellStyle);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接