Si te sirve crear un XLS, acá te paso un código. Si tu recordset se llama "RS", debería funcionar sin más que modificar los paths que figuran en la anteúltima linea
Código PHP:
<%
'...
'...
miTabla = Rs.GetRows
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
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
NameVariable = Hour(Now()) & "-" & Minute(Now()) & "-" & Second(Now()) & ".xls"
Path=Server.MapPath("bco_datos/archivos_tmp/" & NameVariable)
oExcel.ActiveSheet.Export Path, 0
'...
...
%>
Luego podés crear un enlace como el siguiente para que se bajen el archivo:
<a href="bco_datos/archivos_tmp/<% = NameVariable %>">pulse aqí para descargar archivo</a>