Torna al Thread

Dim MyFile As String = "prova.csv" 'gestisci meglio tu i percorsi, li ho fatti fissi per prova Dim MyFilePath As String = Path.Combine("c:\inetpub\wwwroot\Utility\", MyFile) 'Esempio: hai un datatable con i dati di una query (lo riempio io con dati random) Dim dt As New DataTable("prove") dt.Columns.Add("codice", Type.GetType("System.Int32")) dt.Columns.Add("descrizione", Type.GetType("System.String")) Dim dr1 As DataRow = dt.NewRow dr1("codice") = 1 dr1("descrizione") = "prova1" Dim dr2 As DataRow = dt.NewRow dr2("codice") = 2 dr2("descrizione") = "prova2" Dim dr3 As DataRow = dt.NewRow dr3("codice") = 3 dr3("descrizione") = "prova3" dt.Rows.Add(dr1) dt.Rows.Add(dr2) dt.Rows.Add(dr3) Dim sw As New StreamWriter(File.Create(MyFilePath)) 'ricorda che il file deve rimanere all'interno della tua web app e che i permessi 'allo IUSR devono essere in scrittura Dim dr As DataRow For Each dr In dt.Rows sw.WriteLine(dr("codice").ToString() & "," & dr("descrizione")) Next sw.Close() 'scarico 'ricavo l'oggetto response dal contesto http corrente Dim objResp As HttpResponse = HttpContext.Current.Response 'imposto il contenttype come "file da scaricare sempre" objResp.ContentType = "application\octet-stream" 'aggiungo un header che mi consente di scaricare il file come allegato col nome selezionato objResp.AppendHeader("Content-Disposition", String.Format("Attachment; filename=""{0}""", MyFile)) 'scrivo il file via http alla risposta objResp.WriteFile(MyFilePath) 'chiudo il contesto corrente objResp.End()
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5