Código:
vale con esto me va recorriendo todas las hojas del excel así como todas las filas y me muestra en pantalla la fila entera.public void lectura97(File ficheroabrir) { FileInputStream file = null;//stream de entrada del fichero HSSFWorkbook libro = null;//objeto que tiene el libro de excel HSSFSheet hoja; Iterator <Row> filaIterator; Iterator<Cell> cellIterator; Row fila; Cell celda; try { file = new FileInputStream(fileabrir); } catch (FileNotFoundException ex) { JOptionPane.showMessageDialog(null,"no se encontró el fichero", "Ops...Error",JOptionPane.ERROR_MESSAGE); } try { /*creo un objeto que va a ser el que contenga el libro de excel*/ libro = new HSSFWorkbook(file); } catch (IOException ex) { JOptionPane.showMessageDialog(null,"Error interno E/S", "Ops...Error",JOptionPane.ERROR_MESSAGE); } /* * Obtenemos la primera pestaña a la que se quiera procesar indicando el indice. * Una vez obtenida la hoja excel con las filas que se quieren leer obtenemos el iterator que nos permite recorrer cada una de las filas que contiene. El iterador es de tipo fila (<row>) */ int totalhojas=libro.getNumberOfSheets(); for(int i=0;i<totalhojas;i++) { hoja = libro.getSheetAt(i); System.out.println("----HOJA : "+i+"----"); filaIterator = hoja.iterator();//creamos el cursor // Recorremos todas las filas para mostrar el contenido de cada celda while (filaIterator.hasNext()) { fila = filaIterator.next(); // Obtenemos el iterator que permite recorrer todas las celdas de una fila cellIterator = fila.cellIterator(); while (cellIterator.hasNext()) { celda = cellIterator.next(); /* Dependiendo del formato de la celda el valor se debe mostrar como String, Fecha, boolean, entero...*/ switch(celda.getCellType()) { case Cell.CELL_TYPE_NUMERIC: System.out.println(celda.getNumericCellValue()); break; case Cell.CELL_TYPE_STRING: System.out.println(celda.getStringCellValue()); break; } } } } try { // cerramos el libro excel libro.close(); } catch (IOException ex) { JOptionPane.showMessageDialog(null,"Error cerrar el libro", "Ops...Error",JOptionPane.ERROR_MESSAGE); } }
Enfoquemos excel como una tabla. Bueno pues lo que yo necesito es coger los datos centrales de la tabla, pero no sé como posicionarme en una fila en concreto y en una celda en concreto con esta api. ¿Cómo podría hacerlo?