¿Cómo puedo aplicar un estilo dateformat a una columna en Excel con el PDI-3,2-FINAL?
-
22-09-2019 - |
Pregunta
tengo que crear un archivo de Excel con el PDI-3,2-Final (no se puede actualizar a 3.5 +, por problemas de compatibilidad retro) y para cada fila, tengo que dar formato a una fecha en Col A.
A partir de los nombres de los métodos, pensé que la manera de hacerlo era:
short dateFormat = workbook.createDataFormat().getFormat("dd/MM/yyyy HH:mm");
...
cell = row.createCell(0);
cell.setCellValue(new Date());
cell.getCellStyle().setDataFormat(dateFormat);
pero, cosa curiosa realidad, se aplica a este estilo células de la ALL.
Por lo tanto, teniendo en cuenta que no puedo cambiar API (sin actualizar, sin csv, sin JExcel), hay una manera de lograr lo que quiero?
Gracias
Solución
Su problema es que está cambiando el CellStyle defecto!
cell.getCellStyle()
le da el estilo que se define actualmente en esa celda que por lo general es el estilo por defecto si no ha cambiado todavía.
Con el fin de hacer que esto funcione como se espera que usted tiene que crear un nuevo objeto de su CellStyle dateFormat y establecer que a la celda de la siguiente manera:
dateStyle = workbook.createCellStyle();
...
dateStyle.setDataFormat(dateFormat);
cell.setCellStyle(dateStyle);
También asegúrese de que usted crea que el objeto de estilo sólo una vez y volver a utilizarlo para todas las celdas a las que desea tener ese estilo.