Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Script per esportare database Access i nfoglio excell

    Salve ragazzi, buongiorno.

    Ho delle pagine asp collegate a un DB Access 2003.

    Nell'area amministrativa devo dare al cliente la possobilità di esportare il database in un foglio di excell.

    Ho visto che in PHP c'è la classe excelReader ma poichè non conosco bene quel linguaggio non sono riuscito a fare questa operazione.

    E' possibile fare questo con ASP?

    Grazie a tutti in anticipo.

    Ciao e buona giornata.


  2. #2
    Certo....

    codice:
    Dim cn
    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("/mdb-database/sonda.mdb")
    Dim sql
    sql = "SELECT * FROM eventisegn ORDER BY id "
    Set Rs=Cn.Execute(SQL)
    
    Dim fsoMyFile
    Dim tsTextStream
    'Creazione dell'istanza FSO.
    Set fsoMyFile = CreateObject("Scripting.FileSystemObject")
    
    'Apertura del file, in aggiunta dati (8), se non esiste lo crea (True).
    Set tsTextStream = fsoMyFile.OpenTextFile(Server.MapPath("/public/miofile.csv"), 2, True)
    
    tsTextStream.Write("nome;cognome;telefono;fax;email;cellulare;provincia;comune;area;tipo;tema;note;data;ora;") & VbCrLf
    
    n = 1
    
    do while not rs.eof
    nome = rs("nome")
    cognome = rs("cognome")
    telefono = rs("telefono")
    fax = rs("fax")
    email = rs("mail")
    cellulare = rs("cellulare")
    provincia = rs("provincia")
    comune = rs("comune")
    area = rs("area")
    tipo = rs("tipo")
    tema = rs("tema")
    note = rs("note")
    data = rs("data")
    ora = rs("ora")
    
    'Scrive una riga.
    tsTextStream.Write(nome & ";" & cognome & ";" & telefono & ";" & fax & ";" & email & ";" & cellulare & ";" & provincia & ";" & comune & ";" & area & ";" & tipo & ";" & tema & ";" & note & ";" & data & ";" & ora & ";") & VbCrLf
    
    
    n = n + 1
    rs.movenext
    loop
    
    
    
    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing
    il text stream si può sostituire con un ciclo... io l'ho scritto così perchè mi serviva così

    spero ti sia utile

    Ciao
    Fabio

  3. #3
    Ti ringrazio e scusa se nn ti ho risposto subito ma sono stato fuori.

    Cmq nel frattempo io ho trovato questo script che crea un foglio di excel:

    codice:
    <% 
    Response.ContentType = "application/vnd.ms-excel" 
    
    Dim cn : Set cn = Server.CreateObject("ADODB.Connection") 
    Dim strConn 
    strConn = "driver={Microsoft Access Driver (*.mdb)};dbq="&_ 
    server.MapPath("pippo.mdb")
    Dim sql 
    sql ="SELECT * FROM dati" 
    cn.open strConn 
    Set rs = Server.CreateObject("ADODB.Recordset") 
    rs.Open sql, cn, , , adCmdText %> 
    <TABLE BORDER=1> 
    <TR> 
    <% 
    
    col = 2 
    
    For c = 0 to rs.Fields.Count - 1 
    %> 
    <TD BGCOLOR=RED><% = rs(c).Name %></TD> 
    <% Next %> 
    
    </TR> 
    <% 
    Do While Not rs.EOF 
    %> 
    <TR> 
    <% For c = 0 to rs.Fields.Count - 1 
    %> 
    <TD VALIGN=TOP ><% = rs(c) %></TD> 
    <% Next %> 
    
    </TR> 
    <% 
    rs.MoveNext 
    col = col + 1 
    Loop 
    rs.Close 
    %>
    Funziona tutto alla perfezione, tranne il fatto che per esempio sul campo telefono scrivo 063213232 sul DB me loscrive uguale mentre sul foglio di Excell me lo mette senza lo zero finale.

    Ho visto che lui crea le celle con il formato generico e di conseguenza lo zero iniziale nn lo inserisce.

    come posso ovviare a questo problema?

    Ciao e grazie

  4. #4
    dovresti passarlo come ="0900000"

  5. #5
    Scusa ma che intendi per passarlo come "0900000" ?


  6. #6
    Era un esempio.... ="valore"

  7. #7
    Si scusami ho capito che ti riferivi al un valore....

    Il mio dubbio è su come passare il valore con lo script che ho trovato io.


  8. #8
    inserisci "="" & valore & """ nel tuo tsTextStream

  9. #9
    Ok, questo se uso il codice che hai gentilmente postato te dove digito ogni singola cella.

    Invece se tu noti quello che ho trovato questa opzione nn ce l'ho perchè viene creato tutto con un ciclo.

    E' possibile aggiustare lo script che ho trovato io??

    Ciao e grazie ancora


  10. #10
    immagino qui.....

    <TD VALIGN=TOP ><% = rs(c) %></TD>

    dovresti incapsulare rs(c) tra le virgolette e l'uguale all'inizio.

    Non conosco questa applicazione cmq...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.