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

Exportar a Excel y Salto de Línea

Estas en el tema de Exportar a Excel y Salto de Línea en el foro de Java en Foros del Web. Hola Estoy intentando exportar a excel el resultado de una consulta. Para ello lo que hago es crearme una tabla html diciendo en la cabecera ...
  #1 (permalink)  
Antiguo 26/03/2008, 02:49
Avatar de javimartinez  
Fecha de Ingreso: marzo-2003
Ubicación: Leganés (Madrid)
Mensajes: 284
Antigüedad: 21 años, 1 mes
Puntos: 1
Pregunta Exportar a Excel y Salto de Línea

Hola

Estoy intentando exportar a excel el resultado de una consulta. Para ello lo que hago es crearme una tabla html diciendo en la cabecera que es un excel y consigo sacar todo perfectamente excepto un pequeño detalle, ¿cómo puedo introducir un salto de línea en mitad de una celda? (es decir, lo que en excel se consigue directamente con "Alt + Enter")

He probado con \n, \r\n, <br/>, pero ninguna de esas formas me funciona. ¿Sabeis como se puede hacer?

Gracias y un saludo
__________________
Javi Martínez

Web: Acertijolandia Blog: A Entretenerse
  #2 (permalink)  
Antiguo 08/04/2008, 15:17
 
Fecha de Ingreso: diciembre-2007
Mensajes: 22
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Exportar a Excel y Salto de Línea

podrias ayudarme porfavor con el codigo para exportar un reporte de jsp a excel, y tambien a un archivo txt.....


gracias de antemamo.
  #3 (permalink)  
Antiguo 09/04/2008, 00:23
Avatar de javimartinez  
Fecha de Ingreso: marzo-2003
Ubicación: Leganés (Madrid)
Mensajes: 284
Antigüedad: 21 años, 1 mes
Puntos: 1
Re: Exportar a Excel y Salto de Línea

Hay varias formas de exportar datos a excel. Yo como lo suelo hacer es poniendo en la página web generada el tipo mime del excel (en mi caso es un response.setContentType) y después escribo el código HTML correspondiente a una tabla (<table>, <th>, <td>, etc.) De esta forma no solo consigo exportar datos, si no que puedo darles algo de formato como bordes, colores, negritas, etc. De todas formas, si buscar por google encontrarás más métodos.



Por cierto, sobre mi pregunta original sigo sin encontrar nada :( El caso es que ni cogiendo un fichero excel como txt y copiando y pegando el caracter de salto de línea luego me funciona :( ¿Se os ocurre alguna idea?
__________________
Javi Martínez

Web: Acertijolandia Blog: A Entretenerse
  #4 (permalink)  
Antiguo 26/11/2010, 03:26
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Re: Exportar a Excel y Salto de Línea

Cita:
Iniciado por javimartinez Ver Mensaje
Por cierto, sobre mi pregunta original sigo sin encontrar nada :( El caso es que ni cogiendo un fichero excel como txt y copiando y pegando el caracter de salto de línea luego me funciona :( ¿Se os ocurre alguna idea?
Hola, javimartinez:

Tras dar muchas vueltas con este mismo tema y volverme loco (como con otros muchos), he decidido darme de alta en esto de forosdelweb (que consulto a menudo como usuario no registrado) para poder participar. Que el trabajo de uno sirva para los demás, así que, eres mi primer mensaje aquí

Yo he tenido el mismo problema. No funciona \r, \n, \r\n... ni ningún tipo de combinación parecida. Del mismo modo, como tú comentas, al poner <BR>, interpreta un salto real (un intro en excel) y salta a la celda inferior. La única solución que he encontrado después de probar muchas que encontraba en google o en foros del web, fue tratar de pensar como el excel y decirle qué queremos poner y cómo. Por eso, transformamos la celda en una función de excel, para que la escriba tal cual. Te doy un ejemplo:

Texto1("aquí iría el carácter de escape")Texto2;

Si metemos el valor en un TH, por ejemplo:

echo "<TH>Texto1("aquí iría el carácter de escape")Texto2</TH>";

Formateando una celda, quedaría algo así:



Te ha pasado como a mí, que te has enredado sólo buscando el carácter de escape. Cuando haces una función en excel, le pones delante el igual y encierras el contenido entre comillas. Pero falta el inicio y el fin del texto (para transformarlo a fórmula). Quedaría algo así (lo pongo concatenado para mayor claridad):

echo "=\"" . "<TH>Texto1" . "\r\n" . "Texto2</TH>" . "\"";

Para complicarlo un poco más, puedes formater en función de si quieres que lo exporte a excel o que lo presente por pantalla con el formato adecuado. En ese caso, si tenemos una variable que nos indica si es excel o no (por ejemplo, al recibir una variable de salida que diga si es pantalla o excel), podría quedar algo así

$esexcel=$_POST["salida"]=="excel";

echo ".......... " //la estructura de la tabla
echo ($esexcel?"=\"":"")."<TH>Texto1".($esexcel?"\r\n": "<BR>")."Texto2</TH>".($esexcel?"\"":"");

Espero que te ayude.

Saludos
  #5 (permalink)  
Antiguo 26/11/2010, 09:33
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 10 meses
Puntos: 10
Respuesta: Exportar a Excel y Salto de Línea

Hola,

Intenta con \n\t o con \t\n no recuerdo cual es primero.

Si no te funciona tambien intentale con \r\t o \t\r

Es que no me acuerdo cual es, pero deben de ser dos caracteres de escape.

Saludos!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:46.