Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
exportar datos desde ASP a EXCEL
Enviado por guido el día 8 de abril de 2002
por favor, si alguien sabe como exportar datos desde una página asp a excel, responda este llamado de ayuda.
Gracias.
Utiliza las "consultas web" que incorpora Excel 97
ó superior, para llamar a una página asp, el resultado de la petición será recogido por excel
en una hoja de trabajo.
<% Response.ContentType = "application/vnd.ms-excel" %>
esta forma el la he usado y en reliadad es muy util.
El problema que el nombre del archivos con el cual se graba es el mismo de la pagina que lo genera( con la extension .xls)
La pregunta es como puedo darle un nombre pediante un parametro y que se graba sin que me pregunte si deseo abrirlo o grabar.
He buscado y he intentado alternativas, pero no lo he logrado.
Hasta donde yo se, eso no se puede. Una idea (si actuara excel igual que Word) es poner el nombre del archivo en la primera celda de la tabla, pero lo que por un lado ganas, por otro lo pierdes.
Abre un proyecto en Visual Basic y genera el codigo que quieras. Luego solo tiene que crear un objeto en servidor que haga referencia a la clase del proyecto creado que contenga los datos en excel. De esta forma puedes darle el nombre que quieras al fichero excel, ...
Enviado por juan pablo el día 21 de noviembre de 2002
Realmente son unos maestros. Con
<% Response.ContentType = "application/vnd.ms-excel" %>
solucioné gran parte de mi problema, ahora el tema es que necesito que el usuario pueda trasformar en excel, despues de ver el asp. O sea que si le interesa, presione un boton o algo y lo convierta en excel.
Como puedo hacerlo, pense en redireccionarlo a otra pagina, pero va a perder la variables.
perfecto ND, si me funciono el de asignarle el nombre mediante el AddHeader.
no se si podras ayudarme con esto o si alguien mas puede, se lo agradeceria mucho.
lo que pasa es que estoy descargando la informacion a excel mediante la instruccion ContentType = "Application/vnd.ms-excel", pero el detalle aki es que tiene 2 conductas diferentes, esto es cuando se prueba en diferentes maquinas.
Conducta 1 : le doy click a una liga para descargar la info a excel y me despliega una pantalla de dialogo donde me pide el path donde deseo guardar el archivo.
Conducta 2 : le doy click a una liga para descargar la info a excel y se abre una sesion de excel en el browser y abre el archivo.
lo que yo necesito es que me aparezca la ventana de dialogo, (osea la conducta 1).
si me podrian ayudar con esto, se los agradeceria mucho.
Una consulta:
Alguno de ustedes sabe como configurar el servidor o la aplicacion para que no te pida usuario y password al momento de exportar a excel en la pagina ASP?
Hola.. He tratado de probar este código para exportar ASP a Excel ...
<%Response.buffer = true
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "filename=archivo.xls;"
%>
pero me manda este Error:
objeto Response error 'ASP 0156 : 80004005'
Error de encabezado
/iissamples/homepage/prueba.asp, line 8
Los enbezados HTTP ya están escritas en el explorador cliente. Cualquier cambio en el encabezado HTTP se debe hacer antes de escribir el contenido de la página.
Me podrían ayudar por favor..estoy deseperadooooo :(
Saludos
Hola.. He tratado de probar este código para exportar ASP a Excel ...
<%Response.buffer = true
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "filename=archivo.xls;"
%>
pero me manda este Error:
objeto Response error 'ASP 0156 : 80004005'
Error de encabezado
/iissamples/homepage/prueba.asp, line 8
Los enbezados HTTP ya están escritas en el explorador cliente. Cualquier cambio en el encabezado HTTP se debe hacer antes de escribir el contenido de la página.
Me podrían ayudar por favor..estoy deseperadooooo :(
Saludos
Re: Re: Re: Re: Re: exportar datos desde ASP a EXCEL
Enviado por johnny gonzalez contreras el día 17 de abril de 2006
hola no puedes colocar el parrafo que contiene las intrucciones Response.ContentType despues del tag <html> prueba vas a ver que ese es tu problema lo mismo corre para la sentencia response.redirect debe ir antes de la pagina html ( el tag html marca el inicio de esta)
En realidad esta funcion es buenisima, pero esto sirve para abrir el Excel dentro de la misma ventana de trabajo, pero si queremos abrir el excel de manera que podamos trabajar sobre los datos debemos agregar los siguientes comandos:
<%
Response.Charset = \"UTF-8\"
Response.ContentType = \"application/vnd.ms-excel
Response.AddHeader \"ContentDisposition\", \"attachment; filename=\" & archivo %>
son solo tres lineas que realmente funcionan.
Espero que les sirva.
Saludos,
Hola eh visto que estan tratando el tema de asp a excel y queria ver si alguno de ustedes sabe como hacerlo con imagenes tengo un reporte que me abre perfectamente en formato excel utilizando:
<%Response.ContentType = "application/vnd.ms-excel"%> pero si le ingreso una imagen me causa error excel y no aparece ningun dato...
Hola! Estoy exportando de ASP a Excel con Response.ContentType y anda perfecto en el excel 2000 pero en el 97 salen todas las columnas mezcladas. Si alguien sabe q puedo hacer le agradezco mucho!!!
Estoy exportando datos de asp a excel.
Uso : <% Response.AddHeader "Content-Disposition", "attachment;filename=cabecera_analisis.xls" %>
y sale ok, Pero si el usuario elige GRGABAR en lugar de ABRIR me queda mi paginita ASP abierta y no se como puedo cerrarla. Le pongo window.close en el codigo y nada.
Desde ya muchas gracias.
Este es parte del codigo:
<% Option Explicit %>
<% Response.AddHeader "Content-Disposition", "attachment;filename=cabecera_analisis.xls" %>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
lo que tenes que hacer es NO abrir una ventana sino slo poner un href a esa pagina y no te va a quedar la pagina en blanco solo te abre el cuadro de dialogo para abrir/guardar el archivo
Pero después de que sale el diálogo de ejecutar o guardar el archivo me marca un error "Internet Explorer cannot download consulta.asp from localhost".
Mi archivo se llama consulta.asp, he intentado cambiarle la extensión a .xls pero aunque se abre no me despliega nada del RecordSet...¿alguna sugerencia? Se los agradeceria MUCHO
exportar datos desde ASP a EXCEL y usar template o macros
Enviado por jax el día 15 de noviembre de 2003
He usado algunas de las sugerencias que mencionan, pero mi problema es que ademas de exportar a excel es posible darle el archivo.xls destino que contine macros o procedimientos para totalizar columnas y añadir formato? es posible hacer eso?
alguna idea?
gracias
jax
Pero después de que sale el diálogo de ejecutar o guardar el archivo me marca un error "Internet Explorer cannot download consulta.asp from localhost".
Mi archivo se llama consulta.asp, he intentado cambiarle la extensión a .xls pero aunque se abre no me despliega nada del RecordSet...¿alguna sugerencia? Se los agradeceria MUCHO
Tengo el mismo problema... nadie tiene una solucion... o alguna sugerencia...!!! Por favor....
Enviado por Juanita iOk el día 20 de febrero de 2004
encontre la solucion!!!
en la interfaz... debe colocar:
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
y en el codigo:
Response.ClearHeaders();
Response.ClearContent(); Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "filename=filename.xls");
Enviado por FernandoC el día 20 de febrero de 2004
Hay varias maneras mas, y sobre todo mas potentes de pasar datos de ASP a excel. Hay que permitir los controles activex en la configuración de IE.
1.- Incluir un objeto excel en el codigo VBScript. Una vez que esta incluido lo puedes manejar con el código de VBasic para excel ( el que te genera la grabadora de excel), aunque hay que pelearselo.
De esta manera puedes abrir,leer,cerrar,modificar, incluir imagenes, añadir hojas, etc..
Lo mas dificultoso es pasa los datos del servidor al cliente.
<script Language="VBScript">
set ApliExcel=CreateObject("Excel.Application")
set LibroExcel=ApliExcel.Workbooks.add
o
set LibroExcel=ApliExcel.Workbooks.open(c:\.../.../...)
0
set LibroExcel=ApliExcel.Workbooks.open(http://../.../...)
LibroExcel.sheets.add.select
set h1=Libroexcel.sheets(1)
with h1
.name="primera"
.range("a1")=<%=Valor1%>
.rows(1).interior.colorindex .....
end with
.
.
-
</script>
Con este procedimiento puedes pasar datos de servidor a cliente en excel, manejando casi el 100% de las posibilidades de EXCEL.
2.- Puedes abrir la página asp directamente desde excel. Para ello la mejor manera es que la página asp presente unicamente los datos separados por tabuladores y las líneas separadas por avances de línea
response.write( dato1 & chr(9) & dato2 & .... & chr(10))
Como puedo exportar de ASP a varias hojas de excel
Enviado por rdelrio el día 22 de marzo de 2004
Necesito exportar el resultado de cada iteración de un ciclo ASP a una hoja distinta de un mismo libro Excel.
Tiene alguien alguna idea de como poder hacer esto?
Gracias
Re: Como puedo exportar de ASP a varias hojas de excel
Enviado por FernandoC el día 23 de marzo de 2004
Según mi respuesta anterior:
1.- Incluir un objeto excel en el codigo VBScript. Una vez que esta incluido lo puedes manejar con el código de VBasic para excel ( el que te genera la grabadora de excel), aunque hay que pelearselo.
De esta manera puedes abrir,leer,cerrar,modificar, incluir imagenes, añadir hojas, etc..
Lo mas dificultoso es pasa los datos del servidor al cliente.
en el servidor
<script Language="VBScript">
dim Valores(99,99) ' Donde 99 es la dimensión de la matriz
</script>
<%
while not .eof()
%>
<script Language=VBScript>
i=<%=i%>
j=<%=j%>
Valor=<%=.fields(i).value%>
Valores(i,j)=Valor
</script>
<%
.move 1
wend
%>
<script Language="VBScript">
set ApliExcel=CreateObject("Excel.Application")
set LibroExcel=ApliExcel.Workbooks.add
' Esto te crea un libro en blanco (nuevo)
LibroExcel.sheets.add.select
'Añades una hoja nueva, si fuese preciso, para cada una de las hojas que necesites.
set h1=Libroexcel.sheets(1)
with h1
.name="primera"
.range("a1")=Valores
' aqui solo paso un valor.
.rows(1).interior.colorindex .....
end with
.
.
-
</script>
Con este procedimiento puedes pasar datos de servidor a cliente en excel, manejando casi el 100% de las posibilidades de EXCEL.
Nota: Este no es el mejor método de hacerlo, pero si es el mas sencillo de explicar y de aplicar. Como puedes ver esta explicado a vuela pluma, pero creo que lo que falta esta claro.
Re: Re: Re: Como puedo exportar de ASP a varias hojas de excel
Enviado por FernandoC el día 30 de marzo de 2004
Desde vbscript , una vez que tienes el objeto excel incluido en tu página puedes abrir cualquier libro excel y procesarlo.
set LibroX=Apliexcel.workbooks.open("http://.../xxx.xls)
para extraer archivos, en ejecutar... siendo sp2upd.exe el archivo a extraer
C:\Downloads\Sp2upd.exe /c /t:C:Sp2files
para corregir el error del objeto [Set oExcel = Server.CreateObject ("OWC.Spreadsheet")]
esto se debe a que su version de office no es 2000, entonces debe usted colocar el archivo
msowc.dll en la direccion C:\Archivos de programa\Microsoft Office\Office\msowc.dll
y alli soluciona el error.
si tienes otras versiones officexp msowc10.dll entonces el objeto [Set oExcel = Server.CreateObject ("OWC10.Spreadsheet")]
office2003 msowc11.dll entonces el objeto [Set oExcel = Server.CreateObject ("OWC11.Spreadsheet")]
<html>
<body>
<%
Set ExcelArchivo = Server.CreateObject("OWC.Spreadsheet")
ExcelArchivo.Cells(1,1).Value = "hola"
ExcelArchivo.Cells(1,2).Value = "hola"
ExcelArchivo.Cells(1,3).Value = "hola"
Path=Server.MapPath("Libro1.xls")
ExcelArchivo.ActiveSheet.Export Path,0
%>
<center><h3>Archivo XLS generado en el Servidor</h3></center>
</html>
</body>
Enviado por kualtus-Mercer el día 22 de abril de 2004
Tengo un duda, estoy utilizando
<%Response.ContentType="application/vnd.ms-excel"
Response.AddHeader "ContentDisposition","filename=Reporte.xls"%>
y me hace bien el reporte, pero tengo unos datos de tipo cadena = 00000518, en la página si se muestran bien, pero cuando los exporto a excell con el objeto me elimina los ceros a la izquierda y no puedo ponerle ' ni espacios en blanco.
Tengo un problema al generar un fichero Excel utilizando Response.AddHeader "Content-Disposition", "attachment;filename=loquesea.xls" y
Response.ContentType = "application/vnd.ms-excel"
con Excel 97. Se genera el documento pero aparece el error "Ya hay abierto un documento denominado "nombredelfichero.xls". Imposible abrir dos documentos...". Solo ocurre con Excel 97. Alguien me pude ayudar? Gracias
Hola ns cómo especificar usando OWC.Spreadsheet en la hoja en la q quiero escribir los datos y el nombre q le quiero dar a la hoja. He visto q con Excel.Application puedo hacerlo pero no me funciona el código q tengo para descargar luego el fichero.
Alguien puede darme alguna solución?
Enviado por pulgosita el día 14 de diciembre de 2004
Hola:
Alguien sabes como hacer para guardar el estilo .css cuando genero de asp a excel, cuando me transforma el archivo en excel, no me trae los estilos, alguien sabes como se hace??
Enviado por RicardB el día 15 de diciembre de 2004
Apreciados Amigos, sguí con atención lo que han comentado. LES PASO MI PROBLEMA para ver si han pensado en esta posiblidad:
1- Tengo una pagina web donde los usuarios necesitan hacer calculos para ello les pediré que ingresen datos.
2- Para procesar esos datos armé un libro en excel
3- Este deseo colocarlo en un servidor web para que haga los calculos en función a los datos que han cargado los usuarios.
4- Luego extraer los datos del libro en el servidor y publicarlos en la pagina web como resultados.
SABE ALGUNO DE VOSOTROS COMO SE HACEN LAS INSTRUCCIONES DE ESTO?
MUCHAS GRACIAS.
PD: esto lo hago para ayudar a las pequeñas empresas que necesitan hacer calculos economicos y no tienen el dinero para contratar a especialistas.
Hola, estoy tratando de exportar de asp a excel, lo estoy haciendo con la propiedad :
Response.ContentType = "Application/vnd.excel"
Response.AddHeader "Content-Disposition", "attachment; filename=" & cliente & fecha1 & hora1 & ".xls"
Response.Write "<html xmlns:x=""urn:schemas-microsoft-com:office:excel"">"
Lo unico es que no quiero que al usuario le aparezca la pantalla de guardar archivo, y que el escoja el lugar donde lo quiere guardar, lo qu eyo quiero es guardar el archivo en un lugar predefinido, no se si alquien me pueda ayudar,,,
Ya lo he mirado, pero no poner nada acerca de incluir imágenes si no están en la BD, y con href no me vale ya que quiero que el usuario descarge a su PC la hoja Excel y le aparezcan las imágenes, ese es el problema :(
sólo quiero un boton (input) o un link que me diga exportar a excel (despues de haber hecho mi consulta dentro db) y que me aparezca el cuadro para elegir donde guardarlo y ponerle nombre..probé el codigo application/vnd.ms-excel"...pero me aparece defrente para exportar sin que me deje ver el resultado de mi consulta
mi problema es que tengo un excel pre-hecho y lo que quiero es que el usuario me cargue algunos datos y yo ponerlos en la celda que le corresponda y despues mostrarle el excel dentro del mismo browser... alguien sabe como hacer eso..
gracias
Mi problema está en que si uso:
Response.Buffer = TRUE
Response.ContentType = \"application/vnd.ms-excel\"
Response.AddHeader \"Content-Disposition\", \"filename=ficha.xls;\"
mientras la tabla es pequeña todo perfecto, pero cuando se hace más grande, y hablo de 21 filas por 2 columnas que tampoco es tanto, me da un error, dice que excel no puede abrirlo. ¿Sabeis que puedo hacer?
Por fa necesito ayuda, resulta que necesito exportar datos que muestro en una paginad de asp a excel, ya agregue estas instrucciones:
<a href="<%Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader"Content-Disposition", "filename=area.xls;"%>">
y recien cargo la pagina me aparece el mensaje de si deseo abrir o guardar, esas instrucciones las puse en un link, lo que quiero es primero visualizar mi página en asp, y luego darle clik al link (q es como un boton en donde quiero que me exporte los datos a excel) alguna idea??
Ayuda porfa!!!
Una consulta, estoy realizando la generación de una planilla Excel a través de ASP, al momento d egenerar la planilla, muestra campos que tienen una fecha, de la siguiente forma: 03-04-2006, sindo que el valor que posee el texto es: 04/06/2006. Con esto les digo que reconoce los primeros 2 caracteres como mes, en vez de día. Esto sucede cuando el día en menor a 12.
Alguien sabe como insertar imagenes en un fichero excel creado desde ASP?
Puedo hacer de todo (con el objeto OWC10.Spreadsheet), excepto insertar imagenes en el excel para darle un formato personalizado. Alguna ayuda?
Si es necesario instalar algún objeto en el servidor, no habría problema (incluso de pago), siempre que fuese posible insertar imágenes ...
Muchas gracias anticipadas!
Enviado por PowerHangar el día 23 de junio de 2008
Tengo exactamente el mismo problema, no encuentro la forma de insertar una imagen en el fichero excel que estoy creando. Yo estoy usando owc11. Agradecería algún consejo.