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
| | | |-+  Manejo de excel con java.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Manejo de excel con java.  (Leído 4,757 veces)
turion

Desconectado Desconectado

Mensajes: 153



Ver Perfil WWW
Manejo de excel con java.
« en: 30 Agosto 2014, 05:03 am »

Buenas noches.

Como sabeis los que me conoceis intento no preguntar en el foro a menos que se me agoten las ideas jeje y una vez más es así.

Vamos con el problema, estoy haciendo un programa que me inserta distintas variables en un archivo xls, hasta aqui todo bien. Lo que no consigo es poder guardar más de una vez en el mismo excel. Os adjunto los métodos por si podeis ayudar.

Código:
public static void crearexcel()
    {
       
        try
        {
     //Se crea el libro Excel
            String operador =(" damian");
            WritableWorkbook workbook =Workbook.createWorkbook(new File(dire+operador+".xls"));
            //Workbook workbook =Workbook.getWorkbook(new File(dire));
            //Se crea una nueva hoja dentro del libro
            WritableSheet sheet =
                    workbook.createSheet("Parte Operador", 0);
           }
        catch (IOException ex)
        {
            System.out.println("Error al crear el fichero.");
        }
    }


Citar
public static void escribirExcel()
    {
        try
        {
         
           
           
            int i=0;
            Cell cell = sheet.getCell(0,i);
            boolean encontrado= true;
             //System.out.println(cell.getContents());
            while (encontrado)
            {
                if(cell.getType() == CellType.DATE)
                {
            System.out.println("warra"+ i);
            i++;}
                else encontrado = false;
            }
           
            sheet.addCell(new jxl.write.Number(1, i, 1.2));
            sheet.addCell(new jxl.write.Number(2, i, 732));
            sheet.addCell(new jxl.write.Label(3,i,555)"));
           
            //Creamos una celda de tipo fecha y la mostramos
            //indicando un patón de formato
            DateFormat customDateFormat =
                    new DateFormat ("d/m/yy");
 
            WritableCellFormat dateFormat =
                    new WritableCellFormat (customDateFormat);
 
            sheet.addCell(new jxl.write.DateTime(0, i, new Date(), dateFormat));
            DateFormat customDateFormat2 =
                    new DateFormat ("hh:mm");
 
            WritableCellFormat dateFormat2 =
                    new WritableCellFormat (customDateFormat2);
            sheet.addCell(new jxl.write.DateTime(1, i, new Date(), dateFormat2));
 
           
           
            //Escribimos los resultados al fichero Excel
            workbook.write();
           
 
           
 
            System.out.println("Ejemplo finalizado.");
        }
        catch (IOException ex)
        {
            System.out.println("Error al crear el fichero.");
        }
        catch (WriteException ex)
        {
            System.out.println("Error al escribir el fichero.");
        }
    }

Ante todo gracias y se aceptan críticas XD


En línea

0vatsug

Desconectado Desconectado

Mensajes: 8


Programmer Attempt


Ver Perfil
Re: Manejo de excel con java.
« Respuesta #1 en: 30 Agosto 2014, 05:36 am »

¿Lanza alguna excepción? ¿Te estás asegurando que estés trabajando con la misma instancia de Workbook?


En línea

turion

Desconectado Desconectado

Mensajes: 153



Ver Perfil WWW
Re: Manejo de excel con java.
« Respuesta #2 en: 30 Agosto 2014, 05:46 am »

No excepcion no lanza. El metodo crearexcel() se ejecuta al iniciar el programa y el escribirexcel() cada vez que se pulsa el botón enviar... no se si es a lo que te refieres
En línea

madara1412

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Manejo de excel con java.
« Respuesta #3 en: 30 Agosto 2014, 06:17 am »

No he visto algún dato que diga en que fila o columna ira el dato
Yo ago. Eso por ejemplo con lo siguiente


Código:
HSSFWorkbook libro = new HSSFWorkbook();
HSSFSheet hoja = libro.createSheet();
HSSFRow fila = hoja.createRow(i);
for (i = 22; i < jTable2.getRowCount()+22; i++) {
            // fila  fila = hoja.createRow(i);  se usara la selda numero i para poner el dato
            fila = hoja.createRow(i);          
            }
                for (int j = 0; j < jTable2.getColumnCount(); j++) {
                    //HSSCell celda seria columna donde ira el dato
                    HSSFCell celda = fila.createCell(j);
                        celda.setCellValue(new HSSFRichTextString(jTable2.getValueAt(I, j).toString()));
// celda.setCellValue(new HSSFRichTextString(jTable2.getValueAt(I, j).toString())) pone el dato en la columna j en la fila i del EXCEL
                }

Algo parecido para indicar dónde poner el dato así puede poner más de 1 dato y además decir en que fila y columna lo quieres es lo ideal para reportes
« Última modificación: 30 Agosto 2014, 06:21 am por madara1412 » En línea

turion

Desconectado Desconectado

Mensajes: 153



Ver Perfil WWW
Re: Manejo de excel con java.
« Respuesta #4 en: 30 Agosto 2014, 06:32 am »

las filas se introducen asi:

Código:
  sheet.addCell(new jxl.write.Number(1, i, 1.2));
            sheet.addCell(new jxl.write.Number(2, i, 732));
            sheet.addCell(new jxl.write.Label(3,i,555)"));

lo que no consigo es iterar 2 veces seguidas el método.
En línea

turion

Desconectado Desconectado

Mensajes: 153



Ver Perfil WWW
Re: Manejo de excel con java.
« Respuesta #5 en: 31 Agosto 2014, 03:09 am »

Me podríais indicar algun ejemplo de métodos de escritura sin crear el excel? Todo lo que encuentro es creando el excel en el mismo método y no encuentro alguno en el que el excel ya esté creado
En línea

turion

Desconectado Desconectado

Mensajes: 153



Ver Perfil WWW
Re: Manejo de excel con java.
« Respuesta #6 en: 31 Agosto 2014, 03:47 am »

Bien he hecho un avance, le paso por referencia las posiciones donde escribir (derecha y abajo) y lo que creo que pasa es que a cada llamada del metodo escribir crea un nuevo archivo excel ya que cada vez se escribe más abajo borrando las anteriores filas.

¿Me podeis indicar como hacerlo? Aqui os dejo algo de código.


Código:
public static void escribirExcel(int derecha, int abajo, int contador)
    {
         try{
                                
                String operador =(" ejemplo");
           WritableWorkbook workbook =Workbook.createWorkbook(new File(dire+operador+".xls"));
            //Workbook workbook =Workbook.getWorkbook(new File(dire));
            //Se crea una nueva hoja dentro del libro
            WritableSheet sheet =
                    workbook.createSheet("Hoja 1", 0);
              
                                      
          
      
            
            sheet.addCell(new jxl.write.Number(derecha, abajo, 1.2));
            derecha++;
            sheet.addCell(new jxl.write.Number(derecha, abajo, 732));
            derecha++;
            sheet.addCell(new jxl.write.Label(derecha,abajo,"1234"));
           derecha++;
            //Creamos una celda de tipo fecha y la mostramos
            //indicando un patón de formato
            DateFormat customDateFormat =
                    new DateFormat ("d/m/yy");
 
            WritableCellFormat dateFormat =
                    new WritableCellFormat (customDateFormat);
 
            sheet.addCell(new jxl.write.DateTime(derecha,abajo, new Date(), dateFormat));
            DateFormat customDateFormat2 =
                    new DateFormat ("hh:mm");
 
            WritableCellFormat dateFormat2 =
                    new WritableCellFormat (customDateFormat2);
            sheet.addCell(new jxl.write.DateTime(derecha,abajo, new Date(), dateFormat2));
 
            
            
            //Escribimos los resultados al fichero Excel
            workbook.write();
            workbook.close();
 abajo++;
          
 
            System.out.println("Ejemplo finalizado.");
        }
        catch (IOException ex)
        {
            System.out.println("Error al crear el fichero.");
        }
        
        catch (WriteException ex)
        {
            System.out.println("Error al escribir el fichero.");
        }
    }
« Última modificación: 31 Agosto 2014, 03:57 am por turion » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Manejo de archivos en java
Java
Principios en C 2 4,193 Último mensaje 14 Junio 2011, 04:31 am
por dakomt
Manejo eventos en Java.
Java
konarr 1 2,114 Último mensaje 6 Octubre 2012, 23:28 pm
por konarr
Lenguajes para consultas en linea, reportes en EXCEL y WORD, y manejo de BD
Programación General
XoceanoX 2 2,050 Último mensaje 13 Febrero 2014, 01:04 am
por XoceanoX
Manejo de archivos en Java
Java
santiago.morenom 4 2,264 Último mensaje 28 Mayo 2015, 22:49 pm
por 0xFer
MOVIDO: Manejo de archivos en Java
Programación General
Eleкtro 0 1,415 Último mensaje 26 Mayo 2015, 00:39 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines