¿Cómo puedo aplicar un estilo dateformat a una columna en Excel con el PDI-3,2-FINAL?

StackOverflow https://stackoverflow.com/questions/2514343

  •  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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top