Sql 导出到Excel内存不足异常
我有一个用vb.net编写的应用程序,用户可以在其中导出文件。对于这个特定的文件,我有以下代码-Sql 导出到Excel内存不足异常,sql,vb.net,out-of-memory,export-to-excel,Sql,Vb.net,Out Of Memory,Export To Excel,我有一个用vb.net编写的应用程序,用户可以在其中导出文件。对于这个特定的文件,我有以下代码- Private Sub lnkExcelTier2Tier1LinkGet_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkExcelTier2Tier1LinkGet.Click Dim dt As Data.DataTable Dim reportName As String
Private Sub lnkExcelTier2Tier1LinkGet_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkExcelTier2Tier1LinkGet.Click
Dim dt As Data.DataTable
Dim reportName As String = Me.lblReportTitleTier1Tier2.Text.Trim()
Try
'Grabbing my stored procuder that will be used to get the data
Dim D As OOBusinessLayer.Common.Dynamic = New OOBusinessLayer.Common.Dynamic("GeneralReporting", "Tier2Tier1LinkGet")
'Populate table with data
dt = D.Get()
'Export data table to excel
ExportReportVIASuperGrid(dt, reportName, "XLSX")
在导出函数中,我不断得到System.OutOfMemoryException错误。在执行步骤时,虽然填充数据的速度非常快,但在导出时会挂起
在数据库端,我有一个视图,然后存储的procurdre只从视图中执行select*。它提取180000行(12列),从SSMS查询时需要3秒钟
如果我将查询编辑为仅拉取100行,它将平稳运行,因此问题似乎是拉取了大量数据。但是用户需要完整的数据集
有时“导出”按钮起作用,我能够检索文件,但大多数时候我收到System.OutOfMemoryException错误(所有数据量相同)
我是否可以做些什么来绕过内存不足异常,并仍然提供完整的数据集?谢谢。导出到Excel时是否使用DevComponents中的SuperGrid?是否填充dt并绕过导出?我使用的是导出器。我从来没有实际填充网格。