Yes, use...<BR><BR>strout = rs.getstring (coldelimiter [","], rowdelimiter [vbcrlf])<BR>Then print the string out to a text file using a text stream object (use a .csv extension). This will give you a comma delimited file that Excel will read happily.
I don't know whether this is more effiecient than the other method but it works. If the first line of you asp is:<BR><%<BR> Response.Buffer = TRUE <BR> Response.ContentType = "application/vnd.ms-excel"<BR>%><BR>And then the rest of the page is:<BR><BR><html><BR><body><BR ><table><BR><tr><td 2; Recordset Data inserted in appropriate cells by loop structure<BR></td></tr><BR></table><BR></body><BR></html><BR><BR>You should get an excel spreadsheet with each html table cell corresponding to an excel spreasheet cell. If you don't use the html formating to define the table then all the data appears in one cell.