elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 23:51  


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Verificar contenido de celdas Excel con POI Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Verificar contenido de celdas Excel con POI Java  (Leído 5,326 veces)
IntoxicKat

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Verificar contenido de celdas Excel con POI Java
« en: 9 Enero 2010, 02:03 »

Hola a todos.

Tengo un problema al tratar de leer una columna de excel.

Lo que quiero hacer es leer todo el contenido de la columna y al llegar a una celda sin contenido, detener la lectura.

Como puedo verificar o comprobar que una celda de mi columna esta vacia y entonces dejar de intentar leer celdas?


Asi le hago.
   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        int X = 6;
        int Y = 3;
        int a = 0;
        boolean Run = true;

        try
        {
             //Abrir Archivo de MICROSOFT a analizar.
        POIFSFileSystem fs =
                new POIFSFileSystem(
                    new FileInputStream("C:/Documents and Settings/sistemas/Escritorio/excel/gpotecq21.xls"));

        //Se obtiene libro de Excel.
        HSSFWorkbook LibroAnalizar = new HSSFWorkbook(fs);

        //Se obtiene la primera hoja de el libro a analizar.
        HSSFSheet HojaAnalizar = LibroAnalizar.getSheetAt(0);

        //Se declara variable para la celda.
        HSSFCell CeldaLibroAnalizar;
        HSSFRow FilaLibroAnalizar;

        //Se recorre Columna de "DIFERENCIA".
       // do {
        System.out.println("Entrando al while");

          while (Run == true) {         
            //Se obtiene la fila 4 para comenzar a analizar.
            FilaLibroAnalizar = HojaAnalizar.getRow(Y);

            //Se lee toda la columna de "DIFERENCIAS" para analizar.
            CeldaLibroAnalizar = FilaLibroAnalizar.getCell((short)X);
            //System.out.println("CELDA " +Y +"  " +CeldaLibroAnalizar);
            System.out.println("Entre While y switch");

            switch(CeldaLibroAnalizar.getCellType())
            {
                case HSSFCell.CELL_TYPE_NUMERIC:
                    System.out.println("Celda Numeric " +Y +" " +CeldaLibroAnalizar);
                    Y = Y + 1;
                    break;
                case HSSFCell.CELL_TYPE_STRING:                   
                    System.out.println("Celda String " +Y +" " +CeldaLibroAnalizar);
                     Run = false;
                    break;
                    default:
                        Run = false;
                        break;
            }
            //a = CeldaLibroAnalizar.getCellType();
            //System.out.println("Valor de a: " +a);
           
       // } //Fin Do
            System.out.println("fin Switch.");     
         
             } //Fin While
        System.out.println("Fin del WHILE");
        }
        catch(IOException e)
        {
            System.out.println("Error al leer el fichero!");
        }
         System.out.println("Fuera del try");
    }

Saludos a todos.




En línea
Blitzkrieg'


Desconectado Desconectado

Mensajes: 546


print('Hi there')


Ver Perfil WWW
Re: Verificar contenido de celdas Excel con POI Java
« Respuesta #1 en: 9 Enero 2010, 03:03 »

Código
   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       int X = 6;
       int Y = 3;
       int a = 0;
       boolean Run = true;
 
       try
       {
            //Abrir Archivo de MICROSOFT a analizar.
       POIFSFileSystem fs =
               new POIFSFileSystem(
                   new FileInputStream("C:/Documents and Settings/sistemas/Escritorio/excel/gpotecq21.xls"));
 
       //Se obtiene libro de Excel.
       HSSFWorkbook LibroAnalizar = new HSSFWorkbook(fs);
 
       //Se obtiene la primera hoja de el libro a analizar.
       HSSFSheet HojaAnalizar = LibroAnalizar.getSheetAt(0);
 
       //Se declara variable para la celda.
       HSSFCell CeldaLibroAnalizar;
       HSSFRow FilaLibroAnalizar;
 
       //Se recorre Columna de "DIFERENCIA".
      // do {
       System.out.println("Entrando al while");
 
         while (Run == true) {          
           //Se obtiene la fila 4 para comenzar a analizar.
           FilaLibroAnalizar = HojaAnalizar.getRow(Y);
 
           //Se lee toda la columna de "DIFERENCIAS" para analizar.
           CeldaLibroAnalizar = FilaLibroAnalizar.getCell((short)X);
           //System.out.println("CELDA " +Y +"  " +CeldaLibroAnalizar);
           System.out.println("Entre While y switch");
 
           switch(CeldaLibroAnalizar.getCellType())
           {
               case HSSFCell.CELL_TYPE_NUMERIC:
                   System.out.println("Celda Numeric " +Y +" " +CeldaLibroAnalizar);
                   Y = Y + 1;
                   break;
               case HSSFCell.CELL_TYPE_STRING:                  
                   System.out.println("Celda String " +Y +" " +CeldaLibroAnalizar);
                    Run = false;
                   break;
                   default:
                       Run = false;
                       break;
           }
           //a = CeldaLibroAnalizar.getCellType();
           //System.out.println("Valor de a: " +a);
 
      // } //Fin Do
           System.out.println("fin Switch.");    
 
            } //Fin While
       System.out.println("Fin del WHILE");
       }
       catch(IOException e)
       {
           System.out.println("Error al leer el fichero!");
       }
        System.out.println("Fuera del try");
   }

Recuerda usar las etiquetas code.


En línea



Debci
Moderador
***
Desconectado Desconectado

Mensajes: 1.945


Actualizate o muere!


Ver Perfil WWW
Re: Verificar contenido de celdas Excel con POI Java
« Respuesta #2 en: 9 Enero 2010, 11:43 »

No me gusta nada el condicional del while, es infinito y eso peude acarrear perdida de control del programa, podrias usar otro tipo de metods, como un for con el numero de rows que hay.

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como jalar datos de celdas de excel
.NET
_CrisiS_ 1 1,608 Último mensaje 11 Abril 2011, 13:28
por Novlucker
EXCEL Y BLOQUE DE CELDAS
Software
chano 1 1,344 Último mensaje 27 Junio 2011, 02:48
por Novlucker
Verificar celdas...
Programación Visual Basic
Psyke1 3 368 Último mensaje 24 Septiembre 2011, 01:07
por BlackZeroX (Astaroth)
Intentando grabar en excel ya existente con java
Java
BeLGaRioN 3 431 Último mensaje 23 Febrero 2012, 19:34
por DonVidela
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines