Acá te dejo un script que tengo funcionando para generar un archivo XLS:
Código:
Dim oExcel
Set oExcel = Server.CreateObject("OWC.Spreadsheet")
' Coloca 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
'Coloca 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 al tamaño máximo de su contenido:
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
Vale aclarar que los datos los obtiene de un array llamado "miTabla" usando GetRows sobre un recordset llamado RS (y también hace uso del RS para obtener los nombre de campos)
Saludos