Saben necesito que alguien me ayude con esto de excel y java, estoy haciendo un pequeño programita para analisis de inversiones y quiero calcular la TIR y pensaba hacerlo en excel e importarlo a java, el problema es que quiero pasar con conjunto de enteros y poder escribirlos en excel y luego calcular la TIR en excel con los datos que le envio desde java y capturar ese dato que seria la TIR,  Modifique un codigo que encontre por ahi, para probar las formulas, pero el problema es que la formula que le paso a excel no se actualiza no me devuelve el valor del calculo, si alguien me puede ayudar se los agradeceria mucho.
este es el codigo:
---------------------------------------------------------------------
import java.io.*;
import java.util.Date;
import jxl.*;
import jxl.read.biff.BiffException;
import jxl.write.*; 
 
 public class DemoJExcel
 {
     public static void main(String[] args)
     {
         escribirExcel();
 
         leerExcel();
 
         System.out.println("Ejemplo Finalizado.");
     }
 
     public static void escribirExcel()
     {
         try
         {
             //Se crea el libro Excel
             WritableWorkbook workbook = 
                     Workbook.createWorkbook(new File("ejemplo1.xls")); 
 
             //Se crea una nueva hoja dentro del libro
             WritableSheet sheet = 
                     workbook.createSheet("HojaEjemplo1", 0); 
 
             //Creamos celdas de varios tipos
             sheet.addCell(new jxl.write.Number(0, 0, 4)); 
             sheet.addCell(new jxl.write.Number(1, 0, 5)); 
             sheet.addCell(new jxl.write.Label(2, 0, "ejemplo")); 
             sheet.addCell(new jxl.write.Boolean(3,0,true)); 
             sheet.addCell(new jxl.write.Formula(4,0,"SUMA(A1:B1)"));
             //Creamos una celda de tipo fecha y la mostramos
             //indicando un patón de formato
             DateFormat customDateFormat = 
                     new DateFormat ("d/m/yy h:mm"); 
 
             WritableCellFormat dateFormat = 
                     new WritableCellFormat (customDateFormat); 
 
             sheet.addCell(new jxl.write.DateTime(5, 0, new Date(), dateFormat));
 
             //Escribimos los resultados al fichero Excel
             workbook.write(); 
             workbook.close(); 
 
             leerExcel();
 
             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.");
         }
     }
 
     public static void leerExcel()
     {
         try
         {
             //Se abre el fichero Excel
             Workbook workbook = Workbook.getWorkbook(new File("ejemplo1.xls")); 
 
             //Se obtiene la primera hoja
             Sheet sheet = workbook.getSheet(0); 
 
             //Se leen las primeras 5 celdas
             for(int i=0; i<6; i++)
             {
                 //Se obtiene la celda i-esima
                 Cell cell = sheet.getCell(i,0);
 
                 //Se imprime en pantalla la celda según su tipo
                 if (cell.getType() == CellType.NUMBER) 
                 {
                     System.out.println("Número: " + ((NumberCell)cell).getValue());
                 } 
                 else if (cell.getType() == CellType.LABEL) 
                 { 
                     System.out.println("String: " + ((LabelCell)cell).getString());
                 } 
                 else if (cell.getType() == CellType.BOOLEAN) 
                 { 
                     System.out.println("Boolean: " + ((BooleanCell)cell).getValue());
                 } 
                 else if (cell.getType() == CellType.DATE) 
                 { 
                     System.out.println("Fecha: " + ((DateCell)cell).getDate());
                 }
                 else if (cell.getType() == CellType.NUMBER_FORMULA) 
                 { 
                     System.out.println("Formula: " + ((FormulaCell)cell).getFormula());
                     System.out.println("Formula: " + ((NumberFormulaCell)cell).getValue());
                 }
 
             }
         } 
         catch (Exception ex)
         {
             System.out.println("Error!");
         } 
     }
}
---------------------------------------------------------------------------
 
Gracias de antemano. 
   
 
 .
. 

