Excel - error al exportar datos desde aplicacion java

   
Vista:

error al exportar datos desde aplicacion java

Publicado por Miguel Angel (3 intervenciones) el 02/06/2008 13:50:44
Hola a todos. Os comento a ver si podeis ayudarme porque tengo un pequeño marron encima. Tengo una aplicación java que tiene un boton exportar a excel, en excel 95 y 98 creo, me lo hacia bien pero en 2000 me da un error de archivo con formato no reconocido y cuando lo abro me aparece todo descolocado en una sola fila con todas las etiquetas como <td>, <tr> y asi con todas. que puedo hacer? Si necesitais mas datos o el codigo fuente decidmelo. Gracias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:error al exportar datos desde aplicacion java

Publicado por Miguel Angel (3 intervenciones) el 02/06/2008 16:18:57
os copio el codigo fuente de la clase exportar por si os sirviera de algo y me pudierais echar un cable por favor::

private void exporta( Vector emplazadas,
Vector noEmplazadas,
String fecha,
String codEmisora,
String descEmisora,
String formato ,
boolean cadena )


{

Confirm elige=
new Confirm("Elija programa",this,false);

// Vaciamos el combo
cbProg.removeAll();
// Cargamos el combo
// cbProg.addItem("*** Seleccione Programa ***");
String progra="";
Vector todo=reagrupar(emplazadas, "todos");
Vector todoNoEmplazadas=reagrupar(noEmplazadas,"todos");
Vector grupo=new Vector();
Vector cabec=new Vector();

for(int pr=0;pr<todo.size();pr++)
{
grupo=(Vector)todo.elementAt(pr);
cabec=(Vector)grupo.elementAt(0);
if(!progra.equals((String)cabec.elementAt(0)))
{
progra=(String)cabec.elementAt(0);
cbProg.addItem(progra);
}
}

for(int pr=0;pr<todoNoEmplazadas.size();pr++)
{
grupo=(Vector)todoNoEmplazadas.elementAt(pr);
cabec=(Vector)grupo.elementAt(0);
if(!progra.equals((String)cabec.elementAt(0)))
{
progra=(String)cabec.elementAt(0);
cbProg.addItem(progra);
}
}
elige.setBounds(100,100,650,220);
chTodos.setBounds(200,50,200,20);

chTodos.addItemListener(new java.awt.event.ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
chTodos_itemStateChanged(e);
}
});

cbProg.setBounds(200,80,400,20);
elige.recolocaBotones(225,130,355,130);
Font fuente=new Font("TimesRoman", 1, 14);
chTodos.setFont(fuente);
cbProg.setFont(fuente);
chTodos.setState(true);
chTodos.setLabel("Todos los programas");

cbProg.setEnabled(false);
elige.add(cbProg);
elige.add(chTodos);
elige.show();

if(!elige.estaConfirmado()) return;
String programa="";
if(chTodos.getState())
{
programa="todos";
}
else
{
programa=cbProg.getSelectedItem();
/* if (cbProg.getSelectedIndex()==0)
{
_msgboxStop.setTexto("Seleccione un programa o active la casilla todos los programas.");
_msgboxStop.setVisible(true);
return;
}
*/
}

// System.out.println("programa elegido:" + cbProg.getSelectedItem());
/* System.out.println("");
for (int emp=0;emp<emplazadas.size();emp++)
System.out.println(emplazadas.elementAt(emp));
// System.out.println("noEmplazadas");
System.out.println("");

*/
/* for (int emp=0;emp<emplazadas.size();emp++)
{
System.out.println("");
Vector vec=(Vector)emplazadas.elementAt(emp);
for (int emp2=1;emp2<vec.size();emp2++)
{
System.out.println(emp2 + " :" + vec.elementAt(emp2));
}
}
*/
//System.out.println("noEmplazadas" + noEmplazadas);

StringBuffer encabezado=new StringBuffer();
StringBuffer cuerpo=new StringBuffer();

encabezado.append("<html><head><title></title></head><body>");
encabezado.append("<table border=0><tr><td>");

encabezado.append("Emisora");
encabezado.append("</td>");
encabezado.append("<td>");
encabezado.append(descEmisora);
encabezado.append("</td></tr>");
encabezado.append("<tr><td>");
// encabezado.append(" ");
encabezado.append("Fecha:");
encabezado.append("</td>");
encabezado.append("<td align=left> ");
encabezado.append(fecha);
encabezado.append("</td></tr></table>");
encabezado.append("</body></html>");
// encabezado.append(" ");
encabezado.append("<br><br>");
//System.out.println("Encabezado: "+encabezado);
cuerpo.append(new String(encabezado));
//System.out.println("Cuerpo: "+cuerpo);
cuerpo.append("<table border=1><tr><th colspan=3>");
cuerpo.append("<h3><b>PARTE DE INCIDENCIAS</b></h3>");
cuerpo.append("</th></tr>");
// cuerpo.append(" ");
cuerpo.append("<tr>");
cuerpo.append("<td>");
cuerpo.append("HORA");
cuerpo.append("</td>");
cuerpo.append("<td>");
cuerpo.append("REALIZADOR");
cuerpo.append("</td>");
cuerpo.append("<td>");
cuerpo.append("OBSERVACIONES");
cuerpo.append("</td></tr>");
cuerpo.append("<tr><td colspan=3>");
cuerpo.append("<table>");
// for (int inc=0;inc<5;inc++)
// {
cuerpo.append("<tr ><td > </td><td > </td><td > </td></tr>");
// }
cuerpo.append("</table></table>");
cuerpo.append("<br>");

//PAUTA DE PUBLICIDAD
cuerpo.append("<table border=1><tr><th colspan=6>");
cuerpo.append("<h3><b>PAUTA DE PUBLICIDAD</b></h3>");
cuerpo.append("</td></tr>");

//Guardo cada cabecera y sus cuñas en un vector 'vgrupo'
//que se lo añado al vector 'todo'

// Añado los títulos
cuerpo.append("<tr><th>");
cuerpo.append("Tipo");
cuerpo.append("</th><th>");
cuerpo.append("Titulo de las grabaciones");
cuerpo.append("</th><th>");
cuerpo.append("Duración");
cuerpo.append("</th><th>");
cuerpo.append(" </th><th>");
cuerpo.append("H. RI.");
cuerpo.append("</th><th>");
cuerpo.append("Observaciones");
cuerpo.append("</th></tr>");

//Comienzo la carga de la cadena
todo=reagrupar(emplazadas, programa);

;

Vector gr=new Vector();
Vector cun=new Vector();
int emp;
for(emp=0;emp<todo.size();emp++)
{
gr=(Vector)todo.elementAt(emp);
cun=(Vector)gr.elementAt(0);

cuerpo.append("<tr><td>");
cuerpo.append(" </td><td>");
cuerpo.append(cun.elementAt(0));
cuerpo.append("</td><td>");
cuerpo.append(" </td><td>");
cuerpo.append("Desconexion a las " + cun.elementAt(1));
cuerpo.append("</td><td>");
cuerpo.append(cun.elementAt(3)+ "s");
cuerpo.append("</td><td>");
int tiempoTotal=Integer.parseInt((String)cun.elementAt(3));
int resto=Integer.parseInt((String)cun.elementAt(2));

// int tiempoTotal=
// int ocup=Integer.valueOf(tiempoTotal)-Integer.valueOf(resto);
int ocup=tiempoTotal - resto;
cuerpo.append("ocupacion: " + ocup);

cuerpo.append("</td></tr>");

for (int cont=1;cont<gr.size();cont++)
{
cun=new Vector();
cun=(Vector)gr.elementAt(cont);
cuerpo.append("<tr><td>");
cuerpo.append((String)cun.elementAt(5) + (String)cun.elementAt(6));
cuerpo.append("</td><td>");
cuerpo.append((String)cun.elementAt(4)); //descripcion cuna
cuerpo.append("</td><td>");
cuerpo.append((String)cun.elementAt(3)); //duracion cuna
cuerpo.append("</td><td>");
cuerpo.append(" </td><td>");
cuerpo.append(" </td><td>");
cuerpo.append((String)cun.elementAt(9)); // hora inicio
cuerpo.append("/");
cuerpo.append((String)cun.elementAt(10));//hora fin
if(((String)cun.elementAt(11)).equals("S"))
cuerpo.append(". primera de bloque");
if(((String)cun.elementAt(12)).equals("S"))
cuerpo.append(". ultima de bloque");

//(cuña recordatorio )
//System.out.println(24+ "empl:xx" +(String)cun.elementAt(24) + "xx");
if(!((String)cun.elementAt(24)).equals(""))
cuerpo.append(" R");

cuerpo.append("</td></tr>");

}

}
cuerpo.append("</table>");

cuerpo.append("<br>");
cuerpo.append("<table border=1><tr><th colspan=4>");

cuerpo.append("<h3><b>CUÑAS NO EMPLAZADAS</b></h3>");
cuerpo.append("</th></tr>");
todo=reagrupar(noEmplazadas, programa);
//System.out.println("TODO: " + todo);
cuerpo.append("<tr><th>");
cuerpo.append("Tipo");
cuerpo.append("</th><th>");
cuerpo.append("Titulo de las grabaciones");
cuerpo.append("</th><th>");
cuerpo.append("Duración");
cuerpo.append("</th><th>");
cuerpo.append("Observaciones");

cuerpo.append("</th></tr>");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error al exportar datos desde aplicacion java

Publicado por Miguel Angel (3 intervenciones) el 02/06/2008 16:19:28
continuacion:

gr=new Vector();
cun=new Vector();
programa="";
int duracion=0;
for(emp=0;emp<todo.size();emp++)
{
gr=(Vector)todo.elementAt(emp);
cun=(Vector)gr.elementAt(0);
if(!programa.equals(cun.elementAt(0)))
{
if (duracion>0)
{
cuerpo.append("<tr><td>");
cuerpo.append(" </td><td>");
cuerpo.append(" </td><td >");
cuerpo.append("TOTAL: ");
cuerpo.append(duracion + "s");
cuerpo.append("</td><td>");
cuerpo.append(" </tr>");
duracion=0;
}
cuerpo.append("<tr><td>");
cuerpo.append(" </td><td>");
programa=(String)cun.elementAt(0);
cuerpo.append(programa); //programa
cuerpo.append("</td><td>");
cuerpo.append(" </td><td>");
cuerpo.append(" </td></tr>");
}
cuerpo.append("<tr><td>");
cuerpo.append((String)cun.elementAt(5) + (String)cun.elementAt(6));
cuerpo.append("</td><td>");
cuerpo.append((String)cun.elementAt(4));
cuerpo.append("</td><td>");
cuerpo.append((String)cun.elementAt(1));
duracion+=Integer.parseInt((String)cun.elementAt(1));
cuerpo.append("</td><td>");
cuerpo.append((String)cun.elementAt(2) + "/" + (String)cun.elementAt(3));
/*for(int n=0;n<cun.size();n++)
{
if (cun.elementAt(n)!=null)
System.out.println("cun(" + n + "): " + cun.elementAt(n));
} */
if(((String)cun.elementAt(18)).equals("S"))
cuerpo.append(". primera de bloque");
if(((String)cun.elementAt(19)).equals("S"))
cuerpo.append(". ultima de bloque");

//R (cuna recordatorio)
//System.out.println(24+ ":noemplxx" +(String)cun.elementAt(24) + "xx");
if(!((String)cun.elementAt(24)).equals(""))
cuerpo.append(" R");

cuerpo.append("</td></tr>");

}
cuerpo.append("<tr><td>");
cuerpo.append(" </td><td>");
cuerpo.append(" </td><td bgcolor='blue'>");
cuerpo.append("TOTAL: ");
cuerpo.append(duracion + "s");
cuerpo.append("</td><td>");
cuerpo.append(" </td><tr></table>");

duracion=0;


cuerpo.append("</body></html>");

FileOutputStream f;
ObjectOutputStream s;
String textoFinal=new String(cuerpo);
try
{

// File fichero =new File("fichero.css");
FileDialog fd=new FileDialog(new Frame(), "Seleccione archivo", fd.SAVE);
// Filtro fn=new Filtro();
// fn.accept(new File("C:\excel","xls"),"Archivo xls");

// fd.setFilenameFilter(fn);
fd.setDirectory("C:\excel");

fd.setFile("*.xls");
// fd.setFilenameFilter(new FilenameFilter());
fd.show();

String path=fd.getDirectory() + "\" + fd.getFile();
//System.out.println("path: " + path);
f=new FileOutputStream (path, false);
s=new ObjectOutputStream (f);

if(fd.getFile()!=null && fd.getFile()!="")
{
System.out.println("textoFinal: " + textoFinal);

f.write(textoFinal.getBytes());
// textoFinal=new String(encabezado);
// for (int x=0;x<textoFinal.length();x++)
// s.writeChar(textoFinal.charAt(x));

f.close();
System.out.println("FICHERO: "+f.toString());
}

}

catch(IOException ex)
{
_msgboxStop.setTexto("Se ha producido un error al guardar el archivo. Es posible que el archivo seleccionado esté bloqueado.");
_msgboxStop.setVisible(true);

System.out.println("excepcion i/o");
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error al exportar datos desde aplicacion java

Publicado por Abraham Valencia (2418 intervenciones) el 02/06/2008 17:34:59
Pues tu pregunta debes hacerla en un foro de java... ya que si bien exportas a excel, pues, no trabajas ene xcel

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar