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.

Preguntas similare

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.


Respuesta Responder a este mensaje
#2 Jhonny Vargas P.
12/02/2004 - 13:43 | Informe spam
Hola,

Para crear un archivo Excel, es mucho más simple crear un archivo de texto
con extensión .XLS e ir colocando dentro del archivo algún separador que sea
reconocido por el excel, como por ejemplo el Chr(9) que es el tab. La otra
alternativa es crear el texto una tabla de html e ir colocando los valores,
cada TD corresponde a una celda y cada TR corresponde a una línea.

Ejemplo:

Archivo.XLS
<table>
<tr>
<td>Codigo</td>
<td>Nombre</td>
</tr>
<tr>
<td>1</td>
<td>Manzanas</td>
</tr>
<tr>
<td>2</td>
<td>Peras</td>
</tr>
<tr>
<td>3</td>
<td>Naranjas</td>
</tr>
</table>

Copia este contenido en un archivo de texto, al archivo de texto asignale la
extensión XSL y dale doble click!!! cabe señalar que al darle formato al
table, también se los das en el Excel.



Saludos,
Jhonny Vargas P. [MS-MVP]
Santiago de Chile
http://www.mvp.cl

"Benjamin Porter" escribió en el mensaje
news:#
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.
>
>


Respuesta Responder a este mensaje
#3 Benjamin Porter
12/02/2004 - 16:06 | Informe spam
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Insisto, jamás se termina de aprender
Gracias x el dato, Jhonny...

Atentamente
_____________________
Benjamin Porter

(Evidentemente sin el ".punto")


"Jhonny Vargas P." escribió en el mensaje
news:
Hola,

Para crear un archivo Excel, es mucho más simple crear un archivo de texto
con extensión .XLS e ir colocando dentro del archivo algún separador que


sea
reconocido por el excel, como por ejemplo el Chr(9) que es el tab. La otra
alternativa es crear el texto una tabla de html e ir colocando los


valores,
cada TD corresponde a una celda y cada TR corresponde a una línea.

Ejemplo:

Archivo.XLS
<table>
<tr>
<td>Codigo</td>
<td>Nombre</td>
</tr>
<tr>
<td>1</td>
<td>Manzanas</td>
</tr>
<tr>
<td>2</td>
<td>Peras</td>
</tr>
<tr>
<td>3</td>
<td>Naranjas</td>
</tr>
</table>

Copia este contenido en un archivo de texto, al archivo de texto asignale


la
extensión XSL y dale doble click!!! cabe señalar que al darle formato


al
table, también se los das en el Excel.



Saludos,
Jhonny Vargas P. [MS-MVP]
Santiago de Chile
http://www.mvp.cl

"Benjamin Porter" escribió en el mensaje
news:#
> 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.
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida