Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Salvare una tabella di dati da db access in un file excel

    Salve a tutti.
    Premetto che sono alle prime armi con asp, quindi mi scuso se la mia domada possa apparire sciocca. Da una settimana cerco per il web una risposta al mio problema e ho letto varie guide, ma a questo punto cedo le armi, mi arrendo e vi chiedo aiuto. Attualmente ho realizzato questo:
    ho un db access posto su un server internet nel quale, tramite un form, gli utenti inseriscono i loro dati. Il contenuto dei vari record li posso visualizzare tramite una tabella creata in una pagina asp. Cercando, ho realizzato un filtro che mi consente di selezionare una data precisa o uno specifico mese (la data è in formato testo) e vedere chi si è registrato in quel particolare giorno/mese. Qui di seguito l'intero codice della pagina "filtro":

    <%@ LANGUAGE=VBScript %>

    <% Response.Buffer = False
    dim strValore
    strValore = request.form("fdata")
    %>

    <% ' Get the database path and open the connection to it ' %>
    <%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("" & "/mdb_database/prova.mdb" & ";pwd=" & "moduloweb" & ";")
    %>

    <%

    sql = "SELECT * FROM tabella WHERE data = '" & strValore & "'"
    Set RSip = Conn.Execute (sql)
    %>
    <html><head><title>Tabella</title>

    </head><body>
    <p align="center"><font face="Verdana, Arial, Helvetica, sans-serif">Tabella</font></p>
    <table width="100%" border="1" align="center" id="tabella">
    <tr>
    <td width="9%" align="center">Data</td>
    <td width="9%" align="center">Promozione</td>
    <td width="9%" align="center">Cognome</td>
    <td width="6%" align="center">Nome</td>
    <td width="11%" align="center">Societ&agrave;</td>
    <td width="9%" align="center">Provincia</td>
    <td width="8%" align="center">Telefono</td>
    <td width="6%" align="center">Email</td>



    </tr>
    <% While Not RSip.EOF %>
    <tr>
    <td><font size="2"><%=RSip("data")%></font></td>
    <td><font size="2"><%=RSip("promozione")%></font></td>
    <td><font size="2"><%=RSip("cognome")%></font></td>
    <td><font size="2"><%=RSip("nome")%></font></td>
    <td><font size="2"><%=RSip("societa")%></font></td>
    <td><font size="2"><%=RSip("provincia")%></font></td>
    <td><font size="2"><%=RSip("telefono")%></font></td>
    <td><font size="2"><%=RSip("email")%></font></td>


    </tr>
    <%
    RSip.MoveNext
    Wend
    Conn.Close
    %>
    </table>
    <p align="center">
    <FORM name='filtro' action="prova_filtro.asp" METHOD="post">
    <TABLE width="318" BORDER=0 align="center">
    <TR>
    <TD width="100" ALIGN="right"><font size="2" face="Arial, Helvetica, sans-serif">Ricerca per data:</font></TD>
    <TD width="208"><font size="2" face="Arial, Helvetica, sans-serif">
    <INPUT name="fdata" type="text" size="10">
    <input name="submit" type="submit" value="Invio">
    <input name="reset" type="reset" value="Reset">
    </font></TD>
    </TR>
    </TABLE>
    </FORM>
    </body></html>

    Quello di cui ho bisogno è di creare un pulsante nella pagina.asp che mi consenta di salvare la tabella risultante in un file in formato excel.
    Girando ho trovato questo pezzo di codice:

    FileName="Report.xls"
    Response.Buffer = true
    Response.ContentType = "application/vnd.ms-excel"
    Response.AddHeader "content-disposition", "inline; filename=" & FileName

    che fa esattamente quello che desidero ma non so come fare per associare al click del pulsante il codice e quindi farlo eseguire. So che una pagina ASP è un po' diversa da una pagina html.... Ho trovato anche degli script che trasformano la tabella in un file excel tramite gli ActiveX, ma io uso un mac e quindi questi non funzionano (o sono io che non capisco nulla). Come ultima spiaggia ho provato a creare un pulsante di questo genere :
    <FORM name='excel' action="excel.asp" METHOD="post">
    <input name="submit" type="submit" value="Converti in Excel">
    </FORM>
    e, nella pagina excel.asp, aggiungere il codice a quello della pagina, ma ottengo una tabella vuota (c'è forse un modo per riportare i dati ottenuti dall'impostazione del filtro nella tabella della pagina excel.asp?).
    Qualcuno è così critatevole da darmi una mano? Grazie di tutto

  2. #2

    Re: Salvare una tabella di dati da db access in un file excel

    Originariamente inviato da duckroger
    ...
    che fa esattamente quello che desidero ma non so come fare per associare al click del pulsante il codice e quindi farlo eseguire. ...
    quando premi il pulsante apri un'altra pagina asp e poi..
    guarda questo codice fa quello che chiedi te e funziona...è più difficile da spiegare a parole che a farlo ^_^

    codice:
    <% 
    'variabile contenente quello che sarà l'output in excel
    risultato =""
    
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("/mdb-database/follow.mdb"))
    Set objRs = Server.CreateObject("ADODB.Recordset")
    ' estraggo i dati 
    
    Set objRs= objConn.Execute ("select cell from follow where datao>=#"&data1&"# and datao<=#"&data2&"# and cell<>'' and LEN(cell)>5 order by cell asc")
    
    response.write "SEDE: "&sede&" --- DA: "&da&" A: "&a
    for i = 0 to objRs.Fields.Count-1 
     risultato = risultato & objRs.Fields(i).Name & "</td><td>" 
    
    next 
    
    risultato = risultato & "</td></tr><tr><td>" 
    
    risultato = risultato & objRs.GetString(,,"</td><td>","</td></tr><tr><td>", "-") 
    
    ' modifico header per forzare l'apertura in Excel 
    Response.ContentType = "application/vnd.ms-excel" 
    Response.AddHeader "content-disposition", "inline; filename=Follow_up "&sede 
     
    ' scrivo a video 
    Response.Write ("<table><tr><td>" & risultato & "</td></tr></table>") 
    
    %>

  3. #3
    Grazie sia per la velocità di risposta che per la tua gentilezza.
    Ora provo ad applicare la tua soluzione al mio caso, non sono una cima ma mi arrangio.
    Comunque il tuo listato mi ha fatto venire in mente anche una soluzione alternativa.
    Grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.