Saltar al contenido

¿Cómo puedo leer filas específicas con Apache POI?

Siéntete en la libertad de compartir nuestra página y códigos con tus amigos, ayúdanos a hacer crecer esta comunidad.

Solución:

Solo está obteniendo los datos de la fila 11 aquí:

Row getSchool = firstSheet.getRow(10);

Consulte la documentación de Sheet.getRow(int rownum)

Devuelve la fila lógica (no física) basada en 0. Si solicita una fila que no está definida, obtiene un null. Es decir, la fila 4 representa la quinta fila de una hoja.

Consulte los ejemplos en la documentación sobre cómo iterar sobre filas y celdas.

Puedes usar algo como:

Workbook workbook = new XSSFWorkbook(inputStream);
Sheet firstSheet = workbook.getSheetAt(0);

for (Row row : firstSheet) 
  for (Cell cell : row) 
     // Do something here
  

Si desea iterar sobre todas las celdas en una fila, compruebe cómo iterar sobre las celdas, con control de las celdas faltantes/en blanco.

los CellIterator solo devolverá las celdas definidas en el archivo, que son en gran parte aquellas con valores o estilos, pero depende de Excel.

Podría especificar una Row.MissingCellPolicy como:

Row.getCell(int, MissingCellPolicy)

Aquí hay un ejemplo:

int lastColumn = Math.max(row.getLastCellNum(), MY_MINIMUM_COLUMN_COUNT);

for (int cn = 0; cn < lastColumn; cn++) 
  Cell c = row.getCell(cn, Row.RETURN_BLANK_AS_NULL);
  if (c == null) 
    // The spreadsheet is empty in this cell
   else 
    // Do something useful with the cell's contents
  

Eres capaz de añadir valor a nuestro contenido aportando tu veteranía en las explicaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *