Salve a tutti.
Ho una pagina ASP che crea un file WORD in cui si recuperano dei dati da una tabella ACCESS e fin qui tutto ok. Per� la tabella in word ha dei problemi: le colonne si allargano e stringono a seconda del contenuto dei campi anche se gli ho dato delle misure precise (sia per lunghezza del testo sia perch� magari il testo � tutto in maiuscole), � come se fosse un file unico senza pagine (infatti non posso numerarle). Inoltre vorrei che il file word fosse di default in orizzontale, che l'intestazione dei campi delle colonne fosse ripetuta in ogni pagina e che di default fosse tutto scritto in maiuscola. In pratica io da ASP non riesco a perfezionare tutto ci�. Esiste del codice da usare in merito? Uno script per gestire le impostazioni del file WORD? Qualcuno sa darmi una mano nuovamente ?
Grazie
codice:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<head>
<%
'Dichiarazione delle variabili
Dim rs, strSQL, strConn
'Creo la SELECT con SQL per ricavare dati dal database
strSQL = "SELECT ID, fondo, serie, cognome, nome, data_nascita, indirizzo_residenza, recapito_telefonico, email FROM pren_vacc "
'Creo la stringa di connessione al database access
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../database/pren_vacc.mdb")&";Persist Security Info=False"
'Creo l�oggetto di tipo ADOB.Recordset (Recordset=lettura)
Set rs = Server.CreateObject("ADODB.Recordset")
'Apro oggetto creato sopra e li passo la stringa SQL e la stringa di connessione al db
rs.Open strSQL, strConn
' nome da dare al file
FileName = "documento.doc"
Response.Buffer = true
Response.ContentType = "mso-page-orientation:landscape"
Response.ContentType = "application/msword"
Response.AddHeader "content-disposition", "inline; filename= " & FileName
'contenuto del file Word
Response.Write "<table align='center' CELLPADDING='1' CELLSPACING='1' BORDER='1'><font size= '6' <tr><td align='center'><b>Giorno:"&rs.Fields("fondo")&"</b></td></tr><tr><td align='center'><b>Ora:"&rs.Fields("serie")&"</b></td></tr></table>" & VBCrLf
Response.Write "<table CELLPADDING='1' CELLSPACING='1' BORDER='1'><tr><td align='center' width='36' height='5' font face='Book antiqua'><b>ID</b></td> <td align='center' width='200' height='5' font face='Book antiqua'><b>COGNOME</b></td><td align='center' width='200' height='5' font face='Book antiqua'><b>NOME</b></td><td align='center' width='75 height='5' font face='Book antiqua'>'<b>DATA</b></td><td align='center' width='500' height='5' font face='Book antiqua'><b>INDIRIZZO</b></td><td align='center' width='100' height='5' font face='Book antiqua'><b>TELEFONO</b></td><td align='center' width='252' height='5' font face='Book antiqua'><b>EMAIL</b></td></tr></table>" & VBCrLf
'Il ciclo WHILE per leggere tutti dati dal database
WHILE NOT rs.EOF AND NOT rs.BOF
Response.Write "<table CELLPADDING='1' CELLSPACING='1' BORDER='1'><tr><td width='36' height='5' font face='Book antiqua'> "&rs.Fields("ID")&"</td> <td width='200' height='5' font face='Book antiqua'>"&rs.Fields("cognome")&"</td> <td width='200' height='5' font face='Book antiqua'>"&rs.Fields("nome")&"</td> <td width='75' height='5' font face='Book antiqua'>"&rs.Fields("data_nascita")&"</td><td width='500' height='5' font face='Book antiqua'>"&rs.Fields("indirizzo_residenza")&"</td><td width='100' height='5' font face='Book antiqua'>"&rs.Fields("recapito_telefonico")&"</td><td width='250' height='5' font face='Book antiqua'>"&rs.Fields("email")&"</td></tr></table>"
'Passo al successivo recordset nel database
rs.MoveNext()
'Ritorna al ciclo while se la condizione (NOT rs.EOF AND NOT rs.BOF) � vera
WEND
'Chiude oggetto Recordset
rs.Close
'Libera memoria dal oggetto Recordset
Set rs = Nothing
Response.Flush
Response.End
%>