Csv下载在VB.NET中变得非常慢 [英] Csv download getting very slow in 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屋!