Crear un archivo excel y enviarlo

12/02/2004 - 10:58 por Raúl | Informe spam
Hola grupo, y gracias de antemano a todos lo que me puedan ayudar.
Tengo una página asp con un vínculo que me crea un archivo excel. Ahora
bien, cuando pulso, me da la opción de abrir, guardar, cancelar. ¿ Puedo
hacer que se pase esta parte y enviar ese resultado por correo electrónico
?, es decir, que se guarde el archivo en un sitio dado y que luego coja ese
fichero y lo envie por mail.
Gracias.
 

Leer las respuestas

#1 Benjamin Porter
12/02/2004 - 13:36 | Informe spam
Hola Raúl.
Lo que tu requieres consta de dos pasos

1) Generar el archivo Excel
2) Enviarlo por correo.

Vamos por partes:

1) Crear el archivo Excel en el servidor.
-


Para esto debemos utilizar OWC (Office Web Components), que debe estar
instalado en el servidor. Por defecto, si el servidor tiene Office
instalado, estamos OK. Si no lo tuviese, las librerías se pueden descargar.
Otra consideración importante es que debemos tener permiso de escritura en
la carpeta en donde queremos grabar el Excel.

' Creamos el objeto Excel
Dim archivoExcel
Set archivoExcel = Server.CreateObject("OWC.Spreadsheet")

' Para escribir, lo hacemos directamente en cada celda:
' archivoExcel.Cells(Fila,Columna).Value = contenido
' Vamos a recorrer secuencialmente algunas celdas y
' escribir contenido de prueba, ok?

For Fila=1 to 10
For Columna=1 to 10
mynum = mynum+1
archivoExcel.Cells(Fila,Columna).Value = mynum
Next
Next


' Debemos definir "ruta", donde guardaremos el archivo generado:

ruta=Server.MapPath("ejemplo.xls")
archivoExcel.ActiveSheet.Export ruta, 0

' Destruimos el objeto para liberar recursos
set archivoExcel=nothing


**NOTA**
Si quieres saber como dar formato al Excel generado, y en general manejar
las variables de formula, formato, celdas, hoja de trabajo, etc., hay un
truco: abre un excel, inicias la grabación de una macro y haz todo lo que
quieras. Luego detienes, abres el editor de Visual Basic y vas a ver el
código que origina tus movimientos.
Si te complica mucho, pregunta por estos lados y te contestaremos.

-
2) Enviar el archivo Excel por email
-

set correo=server.createobject("CDONTS.NewMail")
correo.MailFormat = 0
correo.BodyFormat = 0 ' esto hace que sea HTML; si es 1, va en texto
correo.From = ""
correo.To = ""
correo.Subject = "Aqui te va el excel"

correo.Body=cuerpomensaje ' variable que contiene el cuerpo de tu mensaje

' se supone que al guardar el excel antes ya tenemos la ruta del archivo
' guardada en la variable ruta

correo.AttachFile ruta, "nombre_que_quieras_darle.xls"
correo.Send

set correo=nothing

-

Cuentanos como te va.-

Atentamente
_____________________
Benjamin Porter

(Evidentemente sin el ".punto")


"Raúl" escribió en el mensaje
news:

Hola grupo, y gracias de antemano a todos lo que me puedan ayudar.
Tengo una página asp con un vínculo que me crea un archivo excel. Ahora
bien, cuando pulso, me da la opción de abrir, guardar, cancelar. ¿ Puedo
hacer que se pase esta parte y enviar ese resultado por correo electrónico
?, es decir, que se guarde el archivo en un sitio dado y que luego coja


ese
fichero y lo envie por mail.
Gracias.


Preguntas similares