No creo que tuviéramos esta clase cuando hiciste la pregunta, pero hoy hay una respuesta fácil.
Lo que quieres hacer es usar la clase DataFormatter . Se le pasa esta celda y hace todo lo posible para devolverle una cadena que contiene lo que Excel le mostrará para esa celda. Si le pasa una celda de cadena, recuperará la cadena. Si le pasa una celda numérica con reglas de formato aplicadas, formateará el número en función de ellas y le devolverá la cadena.
Para su caso, supongo que las celdas numéricas tienen aplicada una regla de formato entero. Si le pide a DataFormatter que formatee esas celdas, le devolverá una cadena con la cadena entera.
Además, tenga en cuenta que mucha gente sugiere hacerlo cell.setCellType(Cell.CELL_TYPE_STRING)
, pero los JavaDoc de PDI de Apache indican claramente que no debe hacer esto . Hacer la setCellType
llamada perderá el formato, ya que los javadocs explican que la única forma de convertir a una Cadena con formato restante es usar la clase DataFormatter .