Ci siamo già occupati in passato della generazione al volo di documenti per Office, sfruttando la possibilità, introdotta dalla versione XP, di importare in maniera nativa i file HTML.
L'esempio di oggi è una variante che è in grado di esportare il contenuto di un intero db, formattandone i valori all'interno di una tabella HTML e preponendo la lista dei campi.
Il risultato è un report in Excel in pieno stile, con la possibilità di generare lo stesso in modo del tutto automatico attraverso una pagina web.
<%
' stringa di conn
strConn = "Provider=sqloledb; Data Source=localhost; Initial Catalog=pubs; Integrated Security=SSPI;"
' apro la connessione
set conn = Server.CreateObject("ADODB.Connection")
conn.Open strConn
' estraggo i dati
Set rs = conn.Execute("SELECT * FROM Authors")
for i = 0 to rs.Fields.Count-1
risultato = risultato & rs.Fields(i).Name & "</td><td>"
next
risultato = risultato & "</td></tr><tr><td>"
risultato = risultato & rs.GetString(,,"</td><td>","</td></tr><tr><td>", "-")
' chiusura
rs.Close
set rs = Nothing
conn.Close
set conn = Nothing
' modifico header per forzare l'apertura in Excel
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "content-disposition", "inline; filename=tabella.xsl"
' scrivo a video
Response.Write ("<table><tr><td>" & risultato & "</td></tr></table>")
%>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.