106 messaggi dal 16 ottobre 2001
Ciao a tutti, ho una funzione che esporta i dati di una query in un file excel che si comporta in modo strano...
l'ultima riga viene sempre troncata(in punti variabili).
Questo solo in produzione e non nell'ambiente di test.
la funzione è questa, avete qualche idea?

Sub Esporta(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim connection As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("conn"))
Dim dt As New System.Data.DataTable
Dim sQuery As String = Session("sQueryCSV")
Dim query = New SqlDataAdapter
query = New SqlDataAdapter(sQuery, connection)

query.Fill(dt)

Dim F As System.Data.DataRow
Dim csv As String = ""
Dim buffer As String = ""
Dim C As Object

'intestazioni
csv = "C1.;C2;C3;"

For Each F In dt.Rows
buffer = ""
For Each C In F.ItemArray
If C.ToString().IndexOf(";") > -1 Then
buffer &= ";" & C.ToString().Replace(",", """,""")
Else
buffer &= ";" & C.ToString()
End If
Next
If buffer.Length > 0 Then buffer = buffer.Substring(1)
csv &= vbCrLf & buffer
buffer = ""
Next

Response.Clear()

'con questa istruzione dico al browser
'che non è in grado di aprire il file e
'deve scaricarlo
Response.AppendHeader("Content-type", "application/octet-stream")
'Con questa istruzione comunico la lunghezza
'del file, in modo da poter visualizzare la
'progress bar del download
Response.AppendHeader("Content-length", csv.Length)
'In questo modo imposto un nome file predefinito
Dim filename As String = "Estrazione" & Year(Now) & Month(Now) & Day(Now()) & Hour(Now()) & Minute(Now) & Second(Now) & ".csv"
Response.AppendHeader("content-disposition", "attachment; filename=" + filename)

'ora invio l'output
Response.Write(csv)
Response.End()

End Sub

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.