创建一个csv文件并下载它

时间:2018-01-08 11:42:39

标签: asp.net vb.net

首先,大家好,我是新人和意大利人,如果想念什么,那就很抱歉。我对这些VB.NET代码有一些问题。我需要创建一个CSV文件并立即下载。但是当谈到" Me.Context.Response"它没有下载文件...... 我试图在这个csv文件中放入一些数据库中的数据,我将其作为参数传递。创建stringBuilder后我想下载它但是......

Private Sub GenerateCSVFile(tbl As List(Of DBList))

    Dim sb As New StringBuilder()
    Dim separatore As Char = ";"c

    'Debug.Print("RecordCount: " & tbl.Count.ToString())

    '*** Intestazioni di colonna ***
    sb.Append("Articolo/Struttura" & separatore)
    sb.Append("Diametro" & separatore)
    sb.Append("Quantità" & separatore)
    sb.Append("Macchina" & separatore)
    sb.Append("Reparto" & separatore)
    For Each elemento In tbl

        sb.Append(elemento.Articolo + separatore)
        sb.Append(elemento.diametro.ToString + separatore)
        sb.Append(elemento.QtaOrdinata.ToString + separatore)
        Try
            sb.Append(elemento.Macchina.ToString + separatore)
        Catch ex As Exception
            sb.Append("" + separatore)
        End Try
        sb.Append(elemento.Reparto.ToString + separatore)
        'A Capo
        sb.Append(vbCr & vbLf)
    Next

    Dim renderedBytes As Byte() = Encoding.UTF8.GetBytes(sb.ToString())
    Dim fileName As String = "Riepilogo.csv"

    Me.Context.Response.Clear()
    Me.Context.Response.ContentType = "text/plain"
    Me.Context.Response.AddHeader("Content-Disposition", String.Format("attachment; filename={0}", fileName))
    Me.Context.Response.BinaryWrite(renderedBytes)
    Me.Context.Response.End()

    'Response.Redirect("~\backOffice\Anagrafica\imgSchemiCarico\Riepilogo.xlsx")
    ' ''Response.Write("<script>window.open('~\backOffice\Anagrafica\imgSchemiCarico\Riepilogo.xlsx','_blank');</script>")


End Sub

0 个答案:

没有答案