【问题标题】:Date format in excel with apache poi带有apache poi的excel中的日期格式
【发布时间】:2017-02-24 13:45:18
【问题描述】:

我使用 apache poi 用 java 编写 excel 文件。我需要的是一种在某些 excel 单元格中写入日期变量时使用“直接”this 格式代码来格式化日期的方法,例如。类似于“dddd dd/mm/yyyy”。
BuiltInFormats 似乎不是我需要的完整集合。
我认为最佳解决方案是使用精心设置的 XSSFCellStyle 实例来实现目标。

【问题讨论】:

  • 您可以将自己的数据格式定义为short with oyu can set as xssfcellstyle

标签: java excel date formatting apache-poi


【解决方案1】:

我最近不得不这样做。看看下面的例子。我确信使用 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】:

    我用这个解决了(工作簿和单元格已经定义为 XSSFWorkbook 和 XSSFCell):

    CreationHelper creationHelper = workbook.getCreationHelper();
    CellStyle cellStyle = workbook.createCellStyle();
    cellStyle.setDataFormat(creationHelper.createDataFormat().getFormat("dddd dd/mm/yyyy"));
    cell.setCellStyle(cellStyle);
    

    【讨论】:

      猜你喜欢
      • 2012-04-03
      • 1970-01-01
      • 2020-06-15
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多