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.