Foros del Web » Programación para mayores de 30 ;) » Java »

Poner formulas a excel desde Java

Estas en el tema de Poner formulas a excel desde Java en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 05/01/2007, 10:34
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Poner formulas a excel desde Java

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.
  #2 (permalink)  
Antiguo 05/01/2007, 11:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Poner formulas a excel desde Java

¿No sería más sencillo calcular el TIR directamente en Java? Vaya por delante que en realidad no se lo que es, así que quizá no .
  #3 (permalink)  
Antiguo 05/01/2007, 13:45
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Poner formulas a excel desde Java

Cita:
Iniciado por GreenEyed Ver Mensaje
¿No sería más sencillo calcular el TIR directamente en Java? Vaya por delante que en realidad no se lo que es, así que quizá no .
te explico como es esto de la TIR.
La TIR es una tasa que surge de la relación entre la inversión inicial y los flujos netos de caja. Se la simboliza como r.
Se la define como el rendimiento de una unidad de capital invertido en una unidad de tiempo.
Para obtenerla, debe tenerse en cuenta que la TIR es la tasa que hace que el valor presente neto sea igual a cero
Creo que no me estan entendiendo, en otras palabras esta es la formula:

0 = -(AF+AC) + F1/(1+r)¹ + F2/(1+r)² + F3/(1+r)³ +.............+ Fn/(1+r)n

tengo que encontrar un valor de "r" el cual haga que toda esa expresió sea igual a cero, como prodrás ver despejar "r" no es tan sencillo, en cambio excel ya tiene esa funcion que es "=TIR(A1:A10)", por eso me parece mas sencillo importarlo desde excel, si alguien conoce otra forma de como resolver este problema, por favor diganmelo, algun experto en contabilidad talvez.
  #4 (permalink)  
Antiguo 05/01/2007, 18:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Poner formulas a excel desde Java

Ya veo que no era tan sencillo, jejeje. No se si el POI de Jakarta de ayudara, que es otra forma de acceder a Excel desde Java, pero no he tocado el tema asi que no puedo ser de mucha ayuda.

Suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:23.