Devolver un archivo de Word desde una página ASP

  • Por
Sistema para generar un archivo de Word desde una página ASP y enviarlo al navegador, en lugar de una página web.
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.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

david_rodriguez-594220

16/6/2010
Response.ContentType = "application/msword" no envia los gráficos
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_rodriguez-594220

16/6/2010
Importante
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

desarrollador principiante

19/10/2011
Dudas de formato
quisiera saber si existe la posibilidad de que se puedan aplicar caracteristicas como pie de pagina, numero de pagia y encabezado en el archivo que se genera
gracias desde ya

XBfZeegu2w

26/6/2013
LZgBT5I0ai
ALBOROTO,e9ramos de 7.10.-11.10.2012 en la habitacif3n 509, que diotmufarss con usted y sin duda volveremos prontopero sf3lo en la Morito Hotel,todas las personas aqued eran muy agradables,amable y servicial,la comida era estupenda,las habitaciones buenas y limpias!Nos encantareda volver a reservar directamente con usted ,envedenos sus puntos de vista por Precios por email,en la pe1gina principal no se puede votar,porque nos hemos reservado me1s barato en OLOHotels!!Hoffenzlich hasta pronto!SALUDOKonrad Heidi Henry

enpaBmmmNUdHvett

26/6/2013
ymaaCAeuEgbtOsG
Acabamos de regresar al hotel y es el malltrio c9ramos un total de 7 La gente ha vivido y gracias a una sfaper caliente toda la semana inclusive. Das Personal war sehr nett, una gran variedad de platos para elegir libremente ,Las habitaciones este1n siempre limpias y con el tiempo volvemos gratis. Gracias :):) PD: El hotel es muy adecuado para nif1os. Saludos a Juan Axel & Nadine Zf6litz