Esta cuestión se puede resolver de diversas formas, por lo tanto te damos la que para nosotros es la solución más completa.
Solución:
¿Leyó la Guía del desarrollador de Apache POI Excel Busy?
En algunos casos, al iterar, necesita un control total sobre cómo se tratan las filas y celdas faltantes o en blanco, y debe asegurarse de visitar todas las celdas y no solo las definidas en el archivo. (CellIterator solo devolverá las celdas definidas en el archivo, que son en gran parte aquellas con valores o estilos, pero depende de Excel).
En casos como estos, debe obtener la información de la primera y la última columna de una fila y luego llamar a getCell(int, MissingCellPolicy) para obtener la celda. Use MissingCellPolicy para controlar qué tan en blanco o null se manipulan las células.
Si está iterando sobre columnas en una fila, es posible que algunas celdas que están en blanco ni siquiera existan, lo que puede causar que el código desprevenido arroje un NullPointerException
. A MissingCellPolicy
cuando pasó a getCell
guía y simplifica el código que le dice a Apache POI cómo manejar este tipo de celdas.
- CREATE_NULL_AS_BLANK: si el
Cell
devuelto no existe, en lugar de volvernull
crear un nuevoCell
con un tipo de celda de “en blanco”. Esto puede ayudar a evitarNullPointerException
s convenientemente. - RETURN_BLANK_AS_NULL: incluso si la celda existe pero tiene un tipo de celda “en blanco”, devuelve
null
. Esto puede permitirle ignorar fácilmente las celdas en blanco que existen. - RETURN_NULL_AND_BLANK: no modificar la estructura existente; regreso
null
para las celdas que realmente no existen y devolver el espacio en blancoCell
si existe pero su tipo de celda está en blanco. Este es el comportamiento delgetCell
sobrecarga que no toma unMissingCellPolicy
.
valoraciones y comentarios
Agradecemos que desees corroborar nuestra tarea fijando un comentario y valorándolo te damos las gracias.