ASP Classic

Esportazione CSV da database Access

Genera un file CSV scaricabile partendo da una query ADO.

Quando si usa

Quando amministratori o redattori devono esportare elenchi, iscritti, prodotti o statistiche per aprirli in Excel.

Perché si usa

La risposta HTTP viene trasformata direttamente in un file; non occorre creare copie permanenti sul server.

Vantaggi principali

  • Soluzione riutilizzabile e adattabile
  • Codice privo di dipendenze esterne
  • Struttura commentabile e integrabile nel progetto

Anteprima del risultato

L'esportazione CSV produce un file testuale apribile anche con Excel o altri fogli di calcolo.

Nome;Email;Citta'
Anna;anna@example.it;Roma
Luca;luca@example.it;Milano

Codice completo

Studia il flusso prima di copiarlo e provalo in un ambiente separato. Adatta sempre nomi, selettori, percorsi e controlli al progetto reale.

<%
Response.Buffer = True
Response.ContentType = "text/csv"
Response.CharSet = "windows-1252"
Response.AddHeader "Content-Disposition", "attachment; filename=esportazione.csv"
Function CsvValore(v)
  If IsNull(v) Then v = ""
  CsvValore = Chr(34) & Replace(CStr(v), Chr(34), Chr(34) & Chr(34)) & Chr(34)
End Function
Dim rs
Set rs = conn.Execute("SELECT Nome, Email, DataIscrizione FROM Iscritti ORDER BY Nome")
Response.Write "Nome;Email;Data iscrizione" & vbCrLf
Do Until rs.EOF
  Response.Write CsvValore(rs("Nome")) & ";" & CsvValore(rs("Email")) & ";" & CsvValore(rs("DataIscrizione")) & vbCrLf
  rs.MoveNext
Loop
rs.Close:Set rs=Nothing
%>

Da personalizzare: Query, intestazioni, separatore e formato delle date.

Errore da evitare: Proteggi la pagina con login e autorizzazioni: un'esportazione può contenere dati personali o riservati.