dominios y alojamiento web en hostalia

Devolver un archivo de Word desde una página ASP

13 de junio de 2006
Valoración del artículo:
Sistema para generar un archivo de Word desde una página ASP y enviarlo al navegador, en lugar de una página web.
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Veremos aquí un típico ejemplo de creación de un archivo de Word desde una página web ASP. El archivo de Word se generará automáticamente y la página ASP, en vez de mostrar el contenido como una página web, mostrará un archivo de Word, que se podrá descargar utilizando cualquier navegador. Si es que se accede con Internet Explorer, también se podrá visualizar el archivo de Word en el propio navegador.

El ejemplo es sencillo. Simplemente hay que tratar con el ContentType, para indicar que el tipo de contenido que se envía es un archivo de Word. El propio navegador, al ver que se le envía un archivo de Word en lugar de una página web, mostrará la opción de descargarlo o abrirlo. Para especificar el ContetType de Word utilizamos esta línea de código al principio del archivo ASP:

<% Response.ContentType = "application/msword"%>

Con ello ya hemos realizado la mayor parte del trabajo. Ahora, cualquier contenido que coloquemos después de esa etiqueta, será parte del contenido del archivo de Word que se enviará al visitante.

Podemos colocar contenido HTML y se verá perfectamente en el archivo de Word:

<% Response.ContentType = "application/msword" %><html>
<html>
<head>
<title>Creacion de word</title>
</head>
<body bgcolor="orange" text="blue">
<h1>hola</h1>
<a href="http://www.guiarte.com">Esto es un enlace a guiarte.com</a>
<p>
<i>Gracias por tu visita</i>
</p>
</body>
</html>

Otra cosa que podemos hacer es tener el contenido en un archivo aparte e incluirlo por medio de un include de ASP.

<% Response.ContentType = "application/msword"%>
<!--#include file="archivo-incluir.html"-->

Así el navegador recibirá un archivo de Word generado con el contenido que hay en el fichero archivo-incluir.html.

Compartir en redes sociales

Comentarios
Fueron enviados 3 comentarios al artículo
1 comentario no revisado
2 comentarios revisados:

david_r...
Response.ContentType = "application/msword" no envia los gráficos
16/6/2010
Hola a todos:

Estoy programando una Web que envía a Word una página que incluye gráficos. La ruta de los gráficos sale de una base de datos.

El problema es que no se me envían los gráficos en el Word si el cliente graba directamente la página. Cuando sale la ventana preguntando abrir o guardar debe darle a a abrir para poder ver los gráficos. Necesitaría que guardando directamente funcionara porque genero un montón de fichero de Word.

Sigo investigando, si me entero como se hace os lo diré pero no me vendría mal alguna pista.

Gracias

david_r...
Importante
16/6/2010
Se me olvidaba. Para que salgan las imágenes debemos poner la ruta completa en asp: http://www.miweb.es/img/imagen.jpg

El problema que tiene esto es que en el momento de abrir el word hay que estar conectado a internet para que se vea la imagen. Es lo que quiero evitar. Me gustaria que la imagen se quedara incrustada en el documento de Word.

Gracias

Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...