Csv下载在VB.NET中变得非常慢 [英] Csv download getting very slow in VB.NET

查看:69
本文介绍了Csv下载在VB.NET中变得非常慢的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我需要从vb.net下载asp.net的csv文件

i已经从vb.net下载了csv文件

我提醒你的那一刻,当我下载少于50行时,文件下载速度非常快,但是当我下载超过100行时,它变得非常慢(意味着在5分钟后出现因为数据非常庞大) )

那么解决这个问题我需要处理的关键步骤是什么。



请在下面找到我的代码,



使用dt As New DataTable()
Adp.Fill(dt)

'将CSV文件数据构建为逗号分隔的字符串。
Dim csv As String = String.Empty

For Each Column As DataColumn in dt.Columns
'添加CSV文件的标题行。
csv + = column.ColumnName +,c

Next

'添加新行。
csv + = vbCr& vbLf

For Each row As DataRow in dt.Rows
For Each column As DataColumn in dt.Columns
'添加数据行。
csv + = row(column.ColumnName).ToString()。Replace(,,;)+,c
Next

'添加新行。
csv + = vbCr& vbLf
下一步

'下载CSV文件。
Response.Clear()
Response.Buffer = True
Response.AddHeader(content-disposition,attachment; filename = SqlExport.csv)
Response.Charset =
Response.ContentType =application / text
Response.Output.Write(csv)
Response.Flush()
Response.End()
End使用





提前感谢。





问候,

stellus。



我尝试过:



csv下载在vb.net中变得非常慢

解决方案

使用 StringBuilder() https://www.dotnetperls.com/stringbuilder-vbnet [ ^ ]


加速代码的一个小技巧

  Dim  csv 正如 字符串 = 字符串 .Empty 
Dim row_csv 作为 字符串

...

对于 每个 As DataRow dt.Rows
row_csv = String .Empty
对于 每个 As DataColumn dt.Columns
' 添加数据行。
行_ csv + = row(column.ColumnName).ToString()。替换( < span class =code-string>;)+ c
下一步

' 添加新行。
行_ csv + = vbCr& vbLf
csv + = row_csv
下一步


Hi All,
I need to download csv file from asp.net with vb.net
i have done the download csv file from vb.net
The moment i raise you that, when i download less than 50 rows then the file download very fast but when i download more than 100 rows then it has come very slow (means come around after 5 minutes because data is very huge)
So what is the essential step i need to handle for this issue resolved.

Please find my code below,

Using dt As New DataTable()
                  Adp.Fill(dt)

                  'Build the CSV file data as a Comma separated string.
                  Dim csv As String = String.Empty

                  For Each column As DataColumn In dt.Columns
                      'Add the Header row for CSV file.
                      csv += column.ColumnName + ","c

                  Next

                  'Add new line.
                  csv += vbCr & vbLf

                  For Each row As DataRow In dt.Rows
                      For Each column As DataColumn In dt.Columns
                          'Add the Data rows.
                          csv += row(column.ColumnName).ToString().Replace(",", ";") + ","c
                      Next

                      'Add new line.
                      csv += vbCr & vbLf
                  Next

                  'Download the CSV file.
                  Response.Clear()
                  Response.Buffer = True
                  Response.AddHeader("content-disposition", "attachment;filename=SqlExport.csv")
                  Response.Charset = ""
                  Response.ContentType = "application/text"
                  Response.Output.Write(csv)
                  Response.Flush()
                  Response.End()
              End Using



thanks in advance.


regards,
stellus.

What I have tried:

csv download getting very slow in vb.net

解决方案

Use a StringBuilder() : https://www.dotnetperls.com/stringbuilder-vbnet[^]


A little trick to speedup your code

Dim csv As String = String.Empty
Dim row_csv As String

...

For Each row As DataRow In dt.Rows
    row_csv = String.Empty
    For Each column As DataColumn In dt.Columns
        'Add the Data rows.
        row_csv += row(column.ColumnName).ToString().Replace(",", ";") + ","c
    Next

    'Add new line.
    row_csv += vbCr & vbLf
    csv += row_csv
Next


这篇关于Csv下载在VB.NET中变得非常慢的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆