Creare report RTF avanzati con dati estratti da database

di Daniele Bochicchio, in Classic ASP, Report,

Nello script #329 abbiamo visto come creare semplici report basati su RTF, sfruttando una semplice tecnica di sostituzione di segnaposto, considerando che RTF è un formato ASCII.
Il formato RTF rappresenta uno standard, peraltro multipiattaforma, che è composto da una serie di tag che devono susseguirsi per dare una giusta formattazione ad un documento.
L'esempio di oggi consiste nel costruire, prelevando i dati dalla tabella Authors del database pubs, un documento con i dati estratti da un database.
Struttando lo stesso approccio si può facilmente costruire un sistema che crei a partire da testo salvato su database dei documenti RTF con tutte le informazioni al posto giusto.

<%

' lettura del contenuto dal template
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(Server.MapPath("template.rtf"), 1)
Documento = f.ReadAll
f.Close
Set f = Nothing
Set fso = Nothing

' carattere di a capo in RTF
acapo = " \par " & VbCrLf

' 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 tutti i dati
set rs = conn.Execute("SELECT au_lname, au_fname, address, city, state, zip FROM authors")

do until rs.eof
 testo = testo & rs("au_lname") & " " & rs("au_fname") & acapo
 testo = testo & rs("address") & acapo
 testo = testo & rs("zip") & " " & rs("city") & " " &  rs("state") & acapo & acapo
 rs.MoveNext
loop

' chiusura
rs.Close
set rs = Nothing
conn.Close
set conn = Nothing

' sostituzione file
Documento = Replace(Documento, "[testo]", testo)

' ContentType e risposta a video
Response.ContentType="application/msword"
Response.Write(documento)

%>

Basterà creare un nuovo file RTF con all'interno tutto il testo ed un segnaposto (nel nostro casto [testo]) perchè l'esempio possa funzionare.

Approfondimenti


#329 - Creare report RTF
https://www.aspitalia.com/liste/usag/script.aspx?ID=329

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi