![]() |
Exportar de ASP a EXCEL Saludos Mi duda que tengo es la siguiente: Quisiera exportar una consulta de ASP a Excel, nada mas que primero se realiza la consulta y si el usuario quiere tenerla en un archivo de Excel, pueda realizarlo. Me ha funcionado cuando la instrucción SQL esta definida pero si es por algun campo, me marca un error. En otras palabras, primero se tiene que ver la consulta especifica (por ejemplo por nombre de equipo), una vez que vio la consulta y ahora quiere tenerla en un archivo de Excel, ahi es donde tengo mi problema. Espero su ayuda y gracias de antemano. |
hijoles.... pero que redaccion del demonio tienes. no entendí. |
Saludos Disculpa, haber si me explico mejor. Lo que quiero es que cuando se realice una consulta especifica, primero el usuario ve la informacion y cuando desee que se exporte a excel, pueda realizarlo. Estoy buscando alguna solución pero todas las que he encontrado la tienen de la siguiente manera por ejemplo: sSQL="Select * From Tabla" Y lo que yo quiero es: sql = "SELECT * FROM Tabla WHERE Equipo = '"& Clave2 &"'" Gracias |
Lo que yo estoy haciendo es lo siguiente: Primero muestro la consulta al usuario sSQL="Select * From Tabla where Equipo= '"& clave2 &"' Order By Equipo" Después almaceno los valores que necesito en unos campos <form action="ConEspExp.asp" method="post"> <table> <tr> <td> <input type="text" name="Equipo2" value="<%= Trim(Request.Form("Equipo"))%>"> </td> <td> <input type="text" name="orden2" value="<%= Trim(Request.Form("orden"))%>"> </td> <td> <input type="button" name=Caract value="Exportar Archivo" onClick="javascript:Consulta()"> </td> </tr> </table> </form> Y cuando se presiona el boton para exportar aparece vacio. Gracias |
Y por qué no pruebas lo siguiente?: Cuando pones estas dos líneas, lo siguiente a ellas sale a un documento en Word, a mi me funciona perfectamente: response.ContentType = "application/msword" Response.AddHeader "Content-Disposition", "attachment;filename=Informe.doc" No lo he probado con Excel, prueba a ver cambiando el Contentype a "application/msword" y el nombre del fichero a "Informe.xls", por ejemplo. Así, directamente se abre el Excel mostrando la hoja, y el usuario si quiere la guarda o imprime. Un saludo. |
Saludos De hecho utilizo estas lineas Response.ContentType = "application/vnd.ms-excel" Response.AddHeader "content-disposition", "inline; filename=Consulta.xls" Funcionan bien pero cuando quiero guardar el archivo este esta vacio. Ahorita estoy viendo la manera de usar variables, haber que resultado da. |
Saludos Ya pude resolver el problema, la solución consistia en ver bien el proceso de los datos que necesitaba. Y de ahi utilizarlas, gracias por ayuda brindada. |
Me alegro de que te funcionara, ¿podrías poner la parte del código en que llenas la hoja de Excel, si es posible? Nos vemos. |
Cita:
El caso es que a mí me interesaría a un documento Excel, y esa manera es mucho más cómoda que otra que había pensado (de ir construyendo una a una las celdas). La verdad es que si puede, pachanguero podría aclararnos por qué no podía y qué hay que hacer para que la consulta se guarde. |
Hola Un_Tio después de poner esas dos líneas de nada, no hay que hacer nada más que construir el código de forma normal: por ejemplo, una vez que llenas un Recordset insertas y IMG y creas una tabla, vas creando las filas y columnas normalmente para cada registro a mostrar... y se te abre el Word con un documento en el que ves los datos mostrados en el formato que has dado. Salu2 |
Hmmm, es que no sé a qué llamas "forma normal", ni qué quieres decir con "insertar". ¿Creo las filas y columnas como si fuera a mostrarlas por pantalla, con una etiqueta <table> y demás? ¿a eso te refieres? Saludos |
Exáctamente, yo también me sorprendí de la sencillez cuando me enseñaron cómo era. |
Saludos Exacto como menciona MikiBroki, tienes que realizar una tabla en las condiciones que consideres adecuadas, una vez que lo hicistes pones el codigo. Response.ContentType = "application/vnd.ms-excel" Response.AddHeader "content-disposition", "inline; filename=Consulta.xls" Ubicado despues de la etiqueta <HEAD> aunque lo probe y tambien me funciono antes de la etiqueta </body>, pero prefiero la primera opción. Y el proceso es automatico. De las dos lineas la primera Response.ContentType = "application/vnd.ms-excel" Te convierte a Excel. La segunda Response.AddHeader "content-disposition", "inline; filename=Consulta.xls" Permite ponerle un nombre por default a tu archivo que generas. Espero haber aclarado tu duda un_tio. |
Saludos Con respeto a mi problema era cambiarle un nombre a un elemento que usaba :borracho:, una vez que lo hice funciono como lo deseaba. |
Y para guardar las cosas en Excel, no hay que hacer nada especial para las celdas? |
Saludos Tu utilizas los elementos necesarios para realizar la tabla, me refiero a <Table> <tr> <td> Registro </td> </tr> <tr> <td> 51 </td> </tr> </table> Dandole la forma que se necesite, una vez que ya la tienes realizada, agregas el codigo anterior, en la posición indicada <head> <% Response.ContentType = "application/vnd.ms-excel" Response.AddHeader "content-disposition", "inline; filename=Consulta Especifica.xls" %> <title> Consulta </title> </head> Y listo, cualquier duda aqui estamos. |
¡Gracias! ¿Y un procedimiento inverso sencillo para recuperar el archivo excel y mostrarlo por pantalla? (yo ya sé uno, pero no sé si estará en la misma línea que éste). |
... y existe alguna manera de darle un nombre fijo al documento creado (sea de excel o de word)? .... Por ejemplo: Tengo un desarrollo, en la que genero el nombre de un fichero a traves de ciertos parametros (usuario, estacion de trabajo, dia, mes, año, tipo, ...). Quisiera asignar automaticamente ese nombre generado, y asi evitar que el operador le de un nombre equivocado. |
Buenas, Si a partir de este código la salida es a fichero: Código: response.ContentType = "application/msword" Código: <% |
Me proporcionarian el codigo Hola, sabes soy nuevo en esto y me parece ineteresante me ayudaria bastante que me proporcionaran el codigo para pasar una consulta de asp a exel ya que relizo consultas y de unos datos que ingresan ala web y tengo que pasarlo a exel y no sabes cuanto me cuesta. espero que me ayuden... |
Saludos Wichmar bienvenido Este es un ejemplo sencillo pero lleva lo esencial para exportarlo Código: <html> Cualquier duda aqui estamos. |
Saludos Por cierto el ejemplo se debe de guardar como archivo ASP, por ejemplo: Consulta.asp |
Saludos Cita:
Porque como aparece la ventana de Guardar como... cuando el usuario quiere guardar el archivo generado. |
Esta bien..gracias como podria, llevarlos cuando se trata de una consulta la cual se realiza con un select. |
Saludos Pues primero debes de hacer la conexion a la base de datos, despues indicar la sentencia SQL, ejecutarla. Posteriormente debes de mostrar el contenido de la base de datos en forma de tabla, de acuerdo a las condiciones que tu quieras. Despues limpias. Revisa como hacer una consulta en ASP. Nos vemos despues. |
tengo una consulta, para la creacion del excel, yo puedo utilizar un excel ke tiene un formato, lo ke kiero decir pasar la informacion deseada de la consulta del asp a un archivo excel ya existente................. lo ke pasa ke el archivo excel tiene imagenes y ya tiene listo un formato de impresion... se podria utilizar las mismas lineas de codigo?, o es necesario hacer alguna modificacion?.................... saludos.............. |
Saludos Nana Hice la prueba que mencionas sobre la imagen, cuando quiero exportar el archivo de ASP a EXCEL con una imagen, esta no aparece. En este momento no sabria como solucionarlo, si alguien tiene un idea, BIENVENIDA. :-) Creo que este tema lo he visto en el foro o en otro lugar, buscare y si encuentro algo aqui lo pondre :pensando: , claro después de probarlo. Recuerden que todos aprendemos de todos, poco o mucho pero aprendemos. :si: |
Cita:
muchas gracias por responder tan luego............... me salvarias la vida........ por el momento tengo un problema enorme con crystal 10 y asp, y estoy tratando de solucionarlo.......... :stress: saludos :-D |
Una duda: -Dicho método envía el .xls al cliente. ¿Hay algún modo tan sencillo como ese que lo que haga sea, además de eso, guardar el archivo en el servidor? Y una respuesta a una duda que muchos pueden haberse planteado: las celdas del excel aparecen sin líneas. ¿Cómo "devolvérselas"? Muy fácil, ;-) poniendo en la etiqueta table border=1 (o el que se quiera) :-D . Así al menos se pondrán líneas para las celdas con campos, aunque el resto seguirán sin líneas (incluso mejor así). |
Saludos Estuve viendo alguna opción para exportar de asp a excel la imagen, hasta ahora no he encontrado la solución :pensando: , si alguien sabe como hacerlo o tiene alguna idea. Se agradece la ayuda. :si: |
Hola amigos: Yo he pegado el código que dan, pero cuando ejecuto el ejemplo no me exporta a excel ¿Tengo que tener algún componente especial de ASP? Gracias |
Saludos Trulala de cordoba el codigo que copiastes fue el que sugeri supongo pero recuerda que se debe de guardar como archivo ASP, por ejemplo: Consulta.asp |
Gracias amigo Pachangero. Vos sabes que el archivo si lo guardo como consulta.asp Con el código que vos pusiste si me crea el excel. El problema está con otros archivos .asp que tengo por ejemplo clientes_listado.aso que muestran un listado de clientes y le pego al principio el código: <% Response.ContentType = "application/vnd.ms-excel" Response.AddHeader "content-disposition", "inline; filename=Consulta Especifica.xls" %> Pero al ejecutarlo a clientes_listado.asp no me de para guardar el excel y no recibo ningún error. ¿Tenes idea que puede ser? Mil gracias |
Saludos Trulala te refieres a que cuando pones el código a un archivo generado te lo guarda pero el archivo esta en blanco, cuando haces una consulta especifica? :pensando: Si es asi debes de guardar el dato o datos con los que estas buscando en un input para que cuando quieres exportarlo utilice esos datos en la busqueda y asi te guarde la información. De lo contrario estara en blanco. :si: El archivo de clientes_listado.asp en si es generado por una consulta general, o sea todos los datos o son datos especificos lo que la generan? |
¿Cómo puedo, después de haber creado una hoja excel con los datos de la base de datos, luego leer desde el servidor la hoja Excel y comprobar si tiene cambios respecto a los datos originales? |
Saludos Tio el archivo generado se guarda en la maquina del cliente, en el servidor unicamente contiene la información que esta en la base de datos. Para poder modificar la información utilizas los métodos de ASP para actualizarla en la base de datos. :-) Ahora si lo que quieres es generar un archivo en el Servidor en este caso no le encuentro apropiado porque estarias llenando el servidor de archivos que no necesita, ahora si son temporales puede funcionar. Mas no veo el caso de generarlos en el servidor porque la información esta mejor ubicada en la base de datos y si quiere el usuario utilizar esa información para cualquier asunto lo mejor seria que se guardara en su maquina y el uso depende de cada uno. |
Saludos Se me paso leer tu comentario anterior a este, debe de existir un método para generarlo y poder utilizarlo. Mas te repito no le veo el caso, porque estarias ocupando espacio en el servidor. Es mi punto de vista. |
Pachanguero, sí que tiene utilidad el que el servidor pueda leer la hoja excel. Yo no quiero guardar en el servidor cada hoja excel que se haga, ¡claro que no! Yo lo que quiero es, usando el método ya dicho que envía una hoja excel al cliente, que después el cliente, días después si quiere, pueda consultar y modificar valores de esa hoja excel y devolvérsela al servidor, actualizando éste los valores (de la base de datos, no de la hoja excel la cual actuaría simplemente como interfaz). |
Saludos Tio el siguiente link te muestra los siguientes puntos * Consultar documentos Excel * Crear documentos Excel en el Servidor con OWC * Crear documentos Excel en el Servidor desde consultas a bases de datos Access * Crear documentos Excel en el Cliente Espero que alguno te sirva http://www.aspfacil.com/articulos/190301.asp Mas mi pregunta sigue siendo Alguien sabe de algun método para generar archivos de excel con imagenes incluidas? :pensando: |
Ya lo conocía, y esa es una información muy básica, necesaria para poder empezar pero que no me ayuda con mi problema. ¡Lo que quiero es saber qué celdas de la hoja de excel puede haber editado el cliente! |
¿Cómo hacer que algunos datos salgan en otras hojas de excel, dentro del mismo archivo? |
Cita:
Uno, sería desde el propio lenguaje html, y el otro... prescindir del lenguaje html y escribir "a pelo" lo que querremos que salga en la tabla. Esto hace poco que he descubierto que funciona, y podrás poner alguna función que llame a una imagen directamente sobre la celda. Por otro lado... ¿alguien ha probado a abrir después, desde ASP, los archivos de excel generados con el método que habíamos dicho hasta ahora? Porque a mí al menos, no me funcionan. Pienso que es porque se incrusta un código html en el excel, sin formar un verdadero archivo excel (por lo que después es ilegible desde ASP al tratar de abrirlo como un .xls, aunque no es ilegible desde el propio programa Excel). |
Exportar sin guardar los datos Saludos TIO A tu primera respuesta la probare y comentare el resultado. A la pregunta. Pues hasta ahorita no lo he probado, mas que nada porque no he tenido que hacerlo hasta ahora mas lo vere y comentare. Ahora tengo una duda Hasta ahora yo he podido exportarlo pero los datos estan guardados en la Base de Datos. Alguien ha podido exportar pero que los datos no esten guardados en la base de datos? Lo que intento es lo siguiente: Tengo un formulario donde tengo ubicados dos Input. Uno me sirve para guardar los datos a la Base de datos y el otro lo tengo para exportar el archivo. El detalle es que he intentado ponerlos en el mismo pero ejecuta el guardado. Si los pongo separados o sea dos FORM en la misma pagina funciona pero eso no se ve muy estetico He investigado ciertas opciones con Javascript pero todavia ando probando haber como adaptarlo. Si alguien ha tenido un caso parecido, se agradecen los comentarios o sugerencias De antemano GRACIAS por la ayuda |
Cita:
|
Otra duda, que ya preguntó creo que pachanguero: ¿Cómo se puede en la hoja de excel que cree desde ASP, insertar imágenes u objetos? |
Saludos Tio acabo de probar, exporta la información sin codigo HTML hasta donde lo probe, mas la foto sigue sin exportarla. Ese tema de exportar con imagenes lo he visto mucho pero las soluciones han sido excasas Cita:
Aunque claro cuando encuentre alguna manera u opción para expotar con imagenes aqui la colocare, así como espero que si alguien sabe como hacerlo, ponga la solución a este problema que tenemos varios. |
Hola gente. puse todo el código para que genere el excel, pero me dice: "Imposible obtener acceso al archivo "http://...." Puede haber varios motivos: -El nombre del archivo o la ruta no existen. -Otro programa está usando el archivo....bla,bla -El nombre del libro es el mismo que el de otro documento que es de solo lectura. y después aparece ese mensaje de error del xp diciendo que excel detecto un problema y debe cerrarse Obviamente no existe, si lo quiero crear. Como no existe, no es posible que lo esten usando. El nombre del archivo no es el mismo que ninguno. Alguien sabe a que se debe? |
Saludos Moron imagino que usastes el ejemplo que puse Código: <html> Ejemplo Consulta.asp Ahora para poder accesar a el archivo debes de poner en tu ventana del explorador, ejemplo http://localhost/Consulta.asp El nombre de tu servidor local y despues el nombre del archivo a usar; si lo tienes en una carpeta debes de ponerla, ejemplo: http://localhost/Consultas/Consulta.asp Una vez que lo hicistes debe de mostrarte la ventana de Abrir, Guardar o Cancelar. Espero que te sirve de lo contrario dinos y veremos que solución darte. |
Un_tio, no nos olvidemos que estamos trabajando con un lenguaje de script, ni siquiera compilado. Hay ciertas cosas que se escapan de las posibilidades de ASP. La solución que ha dado Pachanguero me parece el primer paso para poder modificar más detalladamente una hoja excel, ya que tienes la posibilidad de traer los datos de la hoja como un recordset. |
Cita:
Cita:
|
La zona horaria es GMT -6. Ahora son las 23:52. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.