Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/03/2011, 16:54
fcojose2001
 
Fecha de Ingreso: marzo-2009
Ubicación: Salamanca, España
Mensajes: 141
Antigüedad: 15 años, 1 mes
Puntos: 4
JakartaPOI y actualizar hoja excel

Hola!

Estoy trasteando un poquillo con la libreria Jakarta POI y se me acaba de presentar un problema.

Os cuento, tengo un libro llamado "plantilla.xls" con dos hojas, en la primera de ellas escribo una serie de valores a traves de mi aplicacion en java. En la segunda hoja tengo una formula que utiliza los valores de las celdas rellenadas.

La aplicacion funciona bien ya que escribe correctamente los valores en cada celda, el problema es q al abrir el libro el resultado de la formula no se actualiza, sino que debo pinchar sobre el para que actualice el valor.

He comprabado que la actualizacion en el excel está puesta como automática ya que si cambio el valor de las celdas manualmente el resultado de la formula tambian se actualiza al instante, solo me pase cuando relleno las celdas desde mi aplicacion.

Que solucion veis?

El codigo que utilizo es este:
Código PHP:
  public static void escribirExcel(int i)
    {
        try
        {
                        
            
//Se abre el fichero Excel
            
POIFSFileSystem fs =
                    new 
POIFSFileSystem(
                            new 
FileInputStream("c:plantilla.xls"));
 
            
//Se obtiene el libro Excel
            
HSSFWorkbook wb = new HSSFWorkbook(fs);
            
            
//Se obtiene la primera hoja
            
HSSFSheet sheet wb.getSheetAt(0);
 
            
//Se crea una fila dentro de la hoja
            
HSSFRow row sheet.createRow((short)i);
 
            
//Creamos celdas de varios tipos
            
row.createCell(0).setCellValue(i+60);
            
row.createCell(1).setCellValue(i+2);
                    

            
//Escribimos los resultados a un fichero Excel
            
FileOutputStream fileOut =
                new 
FileOutputStream("plantilla.xls");
 
            
wb.write(fileOut);
            
fileOut.close();
            
        }
        catch(
IOException e)
        {
            
System.out.println("Error al escribir el fichero.");
        }
    }