elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  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 18,295 veces)
IntoxicKat

Desconectado Desconectado

Mensajes: 28


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

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 am »

Código
  1.   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
  2.        // TODO add your handling code here:
  3.        int X = 6;
  4.        int Y = 3;
  5.        int a = 0;
  6.        boolean Run = true;
  7.  
  8.        try
  9.        {
  10.             //Abrir Archivo de MICROSOFT a analizar.
  11.        POIFSFileSystem fs =
  12.                new POIFSFileSystem(
  13.                    new FileInputStream("C:/Documents and Settings/sistemas/Escritorio/excel/gpotecq21.xls"));
  14.  
  15.        //Se obtiene libro de Excel.
  16.        HSSFWorkbook LibroAnalizar = new HSSFWorkbook(fs);
  17.  
  18.        //Se obtiene la primera hoja de el libro a analizar.
  19.        HSSFSheet HojaAnalizar = LibroAnalizar.getSheetAt(0);
  20.  
  21.        //Se declara variable para la celda.
  22.        HSSFCell CeldaLibroAnalizar;
  23.        HSSFRow FilaLibroAnalizar;
  24.  
  25.        //Se recorre Columna de "DIFERENCIA".
  26.       // do {
  27.        System.out.println("Entrando al while");
  28.  
  29.          while (Run == true) {          
  30.            //Se obtiene la fila 4 para comenzar a analizar.
  31.            FilaLibroAnalizar = HojaAnalizar.getRow(Y);
  32.  
  33.            //Se lee toda la columna de "DIFERENCIAS" para analizar.
  34.            CeldaLibroAnalizar = FilaLibroAnalizar.getCell((short)X);
  35.            //System.out.println("CELDA " +Y +"  " +CeldaLibroAnalizar);
  36.            System.out.println("Entre While y switch");
  37.  
  38.            switch(CeldaLibroAnalizar.getCellType())
  39.            {
  40.                case HSSFCell.CELL_TYPE_NUMERIC:
  41.                    System.out.println("Celda Numeric " +Y +" " +CeldaLibroAnalizar);
  42.                    Y = Y + 1;
  43.                    break;
  44.                case HSSFCell.CELL_TYPE_STRING:                  
  45.                    System.out.println("Celda String " +Y +" " +CeldaLibroAnalizar);
  46.                     Run = false;
  47.                    break;
  48.                    default:
  49.                        Run = false;
  50.                        break;
  51.            }
  52.            //a = CeldaLibroAnalizar.getCellType();
  53.            //System.out.println("Valor de a: " +a);
  54.  
  55.       // } //Fin Do
  56.            System.out.println("fin Switch.");    
  57.  
  58.             } //Fin While
  59.        System.out.println("Fin del WHILE");
  60.        }
  61.        catch(IOException e)
  62.        {
  63.            System.out.println("Error al leer el fichero!");
  64.        }
  65.         System.out.println("Fuera del try");
  66.    }

Recuerda usar las etiquetas code.


En línea



Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


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

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 (C#, VB.NET, ASP)
_CrisiS_ 1 4,835 Último mensaje 11 Abril 2011, 13:28 pm
por Novlucker
EXCEL Y BLOQUE DE CELDAS
Software
chano 1 3,631 Último mensaje 27 Junio 2011, 02:48 am
por Novlucker
Verificar celdas...
Programación Visual Basic
Psyke1 3 2,625 Último mensaje 24 Septiembre 2011, 01:07 am
por BlackZeroX
Obtener rango de celdas seleccionadas en excel con vb [SOLUCIONADO]
.NET (C#, VB.NET, ASP)
1mpuls0 1 8,535 Último mensaje 22 Enero 2013, 17:34 pm
por 1mpuls0
Obtener celdas activas con vb despues de aplicar filtro en excel.
.NET (C#, VB.NET, ASP)
1mpuls0 2 3,698 Último mensaje 22 Enero 2013, 19:21 pm
por 1mpuls0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines