さまざまな入力で作成されているデータテーブルがあります。結果のテーブルが 35000 行以上になる場合があります。現在、データテーブルはグリッドビューに表示されます。数分後に正常にロードされます。次に、グリッドビューを Excel ファイルにエクスポートするオプションがあります。大きなテーブルをエクスポートするたびに、変換は失敗します。
私の目標は、グリッドビューのステップをバイパスし、フォーマットされたテーブルを取得して、それを直接 Excel ファイルに入れることです。データテーブルがグリッドビュー出力に似ている限り、書き込み/読み込みが高速な場合は csv ファイルにすることもできます。
ここで次のコードを試しました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() は、メモリ内に作成されるテーブルです。次に、それを呼び出してグリッドビューを埋める他のボタンがあります。現在、正常に準拠して実行され、ファイルが正常に作成されます。ただし、ファイルを開こうとすると、このエラーが発生します...
これは、xls ファイルと csv ファイルの両方を試したときに発生します。何かが正しく翻訳されていません。解決策はありますか?