Foros del Web » Programación para mayores de 30 ;) » Java »

lectura fichero excel

Estas en el tema de lectura fichero excel en el foro de Java en Foros del Web. Hola tengo que leer un fichero excel e ir sacando los datos númericos. Este es mi codigo Código: public void lectura97(File ficheroabrir) { FileInputStream file ...
  #1 (permalink)  
Antiguo 12/04/2016, 15:30
 
Fecha de Ingreso: abril-2007
Mensajes: 166
Antigüedad: 17 años
Puntos: 2
lectura fichero excel

Hola tengo que leer un fichero excel e ir sacando los datos númericos. Este es mi codigo
Código:
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);    
        }

    }
vale con esto me va recorriendo todas las hojas del excel así como todas las filas y me muestra en pantalla la fila entera.

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?
  #2 (permalink)  
Antiguo 13/04/2016, 01:10
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: lectura fichero excel

Haces un fila.getCell(int posicion) y vas extrayendo los datos. Cuando des con la posición exacta ya sabrás qué hacer :D
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: excel, fichero, lectura, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:10.