java - POI - 日期格式 dd-mmm-yy 未被识别为 Excel 格式

标签 java excel apache-poi

我正在使用 POI-3.10.1 和 Java 1.5 生成 Excel 文件,其中包含日期字段,其格式为
dd-mmm-yy

Eg: 24-Nov-15

这是示例代码:

Workbook wb = new SXSSFWorkbook();
SXSSFSheet sheet = (SXSSFSheet) wb.createSheet(sheetName);

// Create date formatter
CellStyle dateCellStyle = wb.createCellStyle();
DataFormat dataFormat = wb.createDataFormat();
short format = dataFormat.getFormat("dd-mmm-yy");
dateCellStyle.setDataFormat(format);

Row row = sheet.createRow(rowIndex);

Cell dateCell = row.createCell(columnIndex);
dateCell.setCellValue(dataValue);
dateCell.setCellStyle(dateCellStyle);

问题是这样的,当我在Windows中打开并选择生成的excel文件中的日期字段时,单元格的格式显示为自定义

以下是在 Windows 中重新创建/获取问题的步骤:

  1. 选择日期单元格

enter image description here

  • 右键单击单元格并选择设置单元格格式...选项
  • enter image description here

  • 打开的窗口,单元格类型被选择为“自定义”,即使“日期格式”下有匹配的类型 enter image description here
  • 如果有人可以提供/显示方向或解决方案来在日期字段样式下显示此dd-mmm-yy格式的日期,我真的很感激。

    最佳答案

    尝试:

    short format = dataFormat.getFormat(DateFormatConverter.convert(Locale.ENGLISH, "dd-MMM-yy"));
    

    关于java - POI - 日期格式 dd-mmm-yy 未被识别为 Excel 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33889667/

    相关文章:

    ms-word - Apache poi MS Word如何插入页码

    java - "${foo.bar}"和 "#{foo.bar}"有什么区别?

    java - 使用声纳 ant 任务和 jenkins 分析 ant 项目

    java - 如何使用 cxf 在 Jersey Jax-rs 项目中禁用 CN 检查

    excel - 相互测试变体

    java - 如何在 Java 的 POI 中使用 XWPFTable 合并单元格(或应用 colspan)?

    java - 如何更新 map 中的 map ?

    excel - 如何在EXCEL中将文本与佛教年份格式日期结合起来?

    vba - 动态调整表大小到最后一行?

    java - Apache POI 公式检查范围内的任何单元格不为空