Hola... como puedo exportar a EXCEL una consulta, pero que tenga presencia el informe....
Saludos.
| ||||
Nunca lo he probado, pero seria cuestion de que echaras un vistazo a esto: http://www.4guysfromrolla.com/webtech/022801-1.2.shtml Necesitaras Excel instalado en el servidor, me parece. Saludos
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
La verdad que no se, nunca me he visto en la necesidad de hacer esto, pero si encuentro algo, con gusto te lo pongo aqui. Saludos
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Probá esto a ver si sirve (es similar a lo que te pasé ayer para "el grid"):
Código:
miTabla = RS.GetRows If Formato = "XLS" Then '----------------------------- ' Generador de archivos XLS '----------------------------- Dim oExcel Set oExcel = Server.CreateObject("OWC.Spreadsheet") ' Carga el nombre de los campos en la primer fila iCol = 1 For Each Campo in RS.Fields 'objSpreadsheet.Cells(iRow, iCol).Value = objField.Name oExcel.Cells(1,iCol).Value = Campo.Name oExcel.Cells(1,iCol).Font.Bold = True oExcel.Cells(1,iCol).Interior.Color = "SILVER" iCol = iCol + 1 Next ' Carga los datos: 'Desde el primero hasta el último "registro"... for Fila = 0 to UBound(miTabla,2) 'Desde el primero hasta el último "campo"... for Columna = 0 to Ubound(miTabla, 1) Celda = miTabla(Columna, Fila) If IsNull(Celda) Then Celda = "s/d" oExcel.Cells(Fila + 2,Columna + 1).Value = Celda next next ' Autoajusta el ancho de las columnas: For iCol = 1 to Columna + 1 oExcel.Columns(iCol).AutoFitColumns Next ' oExcel.ActiveSheet.Range("A:A").EntireColumn.Hidden = True NameVariable = Request.Cookies("Usuario")("Nick") & "_" & Hour(Now()) & "-" & Minute(Now()) & "-" & Second(Now()) & ".xls" Path=Server.MapPath("bco_datos/archivos_tmp/" & NameVariable) oExcel.ActiveSheet.Export Path, 0 '----------------------------- End if 'Formato XLS ' Borrar archivos del día anterior Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set Carpeta = FSO.GetFolder(Server.MapPath("bco_datos/archivos_tmp/")) Set Archivos = Carpeta.Files Hoy = Day(Now()) For Each Archivo in Archivos Borrar = DateDiff("D", Day(Archivo.DateLastModified), Hoy) If Borrar <> 0 Then FSO.DeleteFile Server.MapPath("bco_datos/archivos_tmp/" & Archivo.name) End If Next Set FSO = Nothing Set Carpeta = Nothing Set Archivos = Nothing .... <a href="bco_datos/archivos_tmp/<% = NameVariable %>">descargar o abrir archivo xls</a> Fijate en donde dice NameVariable, que será el nombre del archivo XLS (hay cosas de más que me dio fiaca de editar, así que revisalo antes de probarlo)
__________________ ...___... |