我有一个使用各种输入创建的数据表。有时结果表是 35000+ 行。目前,数据表显示在网格视图上。几分钟后加载正常。然后,可以选择将 gridview 导出到 excel 文件。每次我们有一个大表要导出时,转换都会失败。
我的目标是绕过 gridview 步骤并获取格式化表格并将其直接放入 excel 文件中。如果写入/加载速度更快,也可以是 csv 文件,只要数据表类似于 gridview 输出。
我在这里尝试了以下代码Export DataTable to Excel File。我尽力将它转换为vb,在这里......
Protected Sub btnExportData_Click(sender As Object, e As EventArgs) Handles btnExportData.Click
Dim dt As DataTable
dt = CreateDataSource()
Dim filename As String = "attachment; filename=DistComplain.xls"
Response.ClearContent()
Response.AddHeader("content-disposition", filename)
Response.ContentType = "application/vnd.ms-excel"
Dim tab As String = ""
For Each dc As DataColumn In dt.Columns
Response.Write((tab + dc.ColumnName))
tab = "" & vbTab
Next
Response.Write("" & vbLf)
Dim i As Integer
For Each dr As DataRow In dt.Rows
tab = ""
i = 0
Do While (i < dt.Columns.Count)
Response.Write((tab + dr(i).ToString))
tab = "" & vbTab
i = (i + 1)
Loop
Response.Write("" & vbLf)
Next
Response.End()
End Sub
CreateDataSource() 是在内存中创建的表。然后还有其他按钮调用它来填充gridview。现在它成功地编译并运行,然后它成功地创建了文件。虽然,当文件试图打开我得到这个错误......
当我同时尝试 xls 和 csv 文件时会发生这种情况。有些东西翻译不正确。有什么解决办法吗?