Hola,
Yo utilizo o genero un archivo xls, desde una tabla de mi base de datos, te entrego el código, para que lo conozcas, quizás te sirva, porque a mi bastante no es el objeto que anuncias, sino es una consulta :
TE DARAS CUENTA QUE UTILIZO UNA TABLA LLAMADA TEMP_SOLICITUDES en donde selecciono algunos campos de la tablas de hecho los campos seleccionados son los campos que mostraré en el XLS.
SALUDOS QUE TE SIRVA ME COMENTAS LUEGO.. ADJUNTO EL *.ASP
<%
' Se crean las variables a utilizar (PathXXX corresponde a la ruta
' del archivo de tipo XXX que utilizaremos).
t = trim(request.querystring("n_sol"))
doc = "solicitud"&t&".xls"
PathXLS = Server.MapPath(doc)
FinLinea = ""
' Creo los objetos que utilizaremos, sern de los tipos FSO, TextStream y Connection
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set Arch_Excel = fso.CreateTextFile(PathXLS, True)
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.ConnectionTimeout = 15
oConn.CommandTimeout = 30
oConn.open "DSN=farmacia;UID=;PWD;"
Set rs = oConn.Execute("SELECT id_insumo, Nombre, solicitud, entregado, stock, tipo_i, costo FROM temp_solicitudes where n_solicitud = "&CDBL(request.querystring("n_sol"))&"")
' Recorro todo el recordset recuperando sus valores y escribindolos en el archivo Excel
if not rs.eof then
do until rs.EOF
FinLinea = ""
For each x in rs.fields
FinLinea = FinLinea & x.value & chr(9)
Next
Arch_Excel.writeline FinLinea
rs.MoveNext
Loop
rs.MoveFirst
'Y por fin comenzamos a escribir la tabla de resultados
'Primero los nombres de las columnas (el encabezado de la tabla)
Response.Write "<table border='1'>"
Response.Write "<th bgcolor='#c6dead' align='center'><font face='Verdana' size='1'>" & rs.Fields.Item(0).Name & "</font></th>" & vbCrLf
Response.Write "<th bgcolor='#c6dead' align='center'><font face='Verdana' size='1'>" & rs.Fields.Item(1).Name & "</font></th>" & vbCrLf
Response.Write "<th bgcolor='#c6dead' align='center'><font face='Verdana' size='1'>" & rs.Fields.Item(2).Name & "</th>" & vbCrLf
Response.Write "<th bgcolor='#c6dead' align='center'><font face='Verdana' size='1'>" & rs.Fields.Item(3).Name & "</font></th>" & vbCrLf
Response.Write "<th bgcolor='#c6dead' align='center'><font face='Verdana' size='1'>" & rs.Fields.Item(4).Name & "</font></th>" & vbCrLf
Response.Write "<th bgcolor='#c6dead' align='center'><font face='Verdana' size='1'>" & rs.Fields.Item(5).Name & "</font></th>" & vbCrLf
Response.Write "<th bgcolor='#c6dead' align='center'><font face='Verdana' size='1'>" & rs.Fields.Item(6).Name & "</font></th>" & vbCrLf
'Y por ltimo, el cuerpo de los datos
do until rs.EOF
Response.Write "<tr>" & vbCrLf
Response.write "<td bgcolor='#ffffff'><font face='Verdana' size='1'>" & rs(0) & "</font></td>"
Response.write "<td bgcolor='#ffffff'><font face='Verdana' size='1'>" & rs(1) & "</font></td>"
Response.write "<td bgcolor='#ffffff' align='right'><font face='Verdana' size='1'>" & rs(2) & "</font></td>"
Response.write "<td bgcolor='#ffffff' align='right'><font face='Verdana' size='1'>" & rs(3) & "</font></td>"
Response.write "<td bgcolor='#ffffff' align='right'><font face='Verdana' size='1'>" & rs(4) & "</font></td>"
Response.write "<td bgcolor='#ffffff' align='right'><font face='Verdana' size='1'>" & rs(5) & "</font></td>"
Response.write "<td bgcolor='#ffffff' align='right'><font face='Verdana' size='1'>" & rs(6) & "</font></td>"
Response.Write "</tr>" & vbCrLf
rs.MoveNext
Loop
Response.Write "</table>"
else
response.Write("no se encontraron datos")
end if
' Cierro y destruyo todos los objetos utilizados
Arch_Excel.Close
Set Arch_Excel = Nothing
Set fso = Nothing
rs.Close
Set rs = Nothing
oConn.Close
Set oConn = Nothing
%>