Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用POI-3.2-FINAL将日期格式样式应用于Excel中的一列?_Java_Apache Poi - Fatal编程技术网

Java 如何使用POI-3.2-FINAL将日期格式样式应用于Excel中的一列?

Java 如何使用POI-3.2-FINAL将日期格式样式应用于Excel中的一列?,java,apache-poi,Java,Apache Poi,我必须创建一个带有POI-3.2-Final的excel文件(由于追溯兼容性问题,无法升级到3.5+),并且对于每一行,我必须以a列格式设置日期 根据方法名称,我认为这样做的方法是: short dateFormat = workbook.createDataFormat().getFormat("dd/MM/yyyy HH:mm"); ... cell = row.createCell(0); cell.setCellValue(new Date()); cell.getCellStyle()

我必须创建一个带有POI-3.2-Final的excel文件(由于追溯兼容性问题,无法升级到3.5+),并且对于每一行,我必须以a列格式设置日期

根据方法名称,我认为这样做的方法是:

short dateFormat = workbook.createDataFormat().getFormat("dd/MM/yyyy HH:mm");
...
cell = row.createCell(0);
cell.setCellValue(new Date());
cell.getCellStyle().setDataFormat(dateFormat);
但是,有趣的是,实际上,它将这种风格应用于所有细胞

所以,请记住,我不能切换API(没有升级,没有csv,没有jexcel),有办法实现我想要的吗


谢谢

您的问题是您正在更改默认的手机样式
cell.getCellStyle()
为您提供当前在该单元格上设置的样式,如果您尚未更改,该样式通常是默认样式。
为了使其按预期工作,您必须从dateFormat创建一个新的CellStyle对象,并将其设置为单元格,如下所示:

dateStyle = workbook.createCellStyle();
...
dateStyle.setDataFormat(dateFormat);
cell.setCellStyle(dateStyle);
另外,请确保仅创建一次该样式对象,并将其重新用于希望具有该样式的所有单元格