使用oledb导出excel文件的Asp.net返回空excel文件

使用oledb导出excel文件的Asp.net返回空excel文件,asp.net,vb.net,excel,oledb,Asp.net,Vb.net,Excel,Oledb,我正在使用asp.net oledb将信息导出到excel文件。当要导出的信息太大时,我会遇到问题,在本例中,我在下面给出的代码中,生成的excel文件会变成一个空的电子表格 如果我将循环更改为1123以插入行。生成的excel文件很好,显示了1125行和4列 无论有多少行,windows窗体中的测试程序也可以正常工作 代码已经简化,sql插入命令中的“信息…”表示1803个字符 ExcelObjConn = "Provider=Microsoft.Ace.OLEDB.12.0;" &

我正在使用asp.net oledb将信息导出到excel文件。当要导出的信息太大时,我会遇到问题,在本例中,我在下面给出的代码中,生成的excel文件会变成一个空的电子表格

如果我将循环更改为1123以插入行。生成的excel文件很好,显示了1125行和4列

无论有多少行,windows窗体中的测试程序也可以正常工作

代码已经简化,sql插入命令中的“信息…”表示1803个字符

ExcelObjConn = "Provider=Microsoft.Ace.OLEDB.12.0;" & _
                 "Data Source=" & fileName & ";Extended Properties=Excel 12.0 XML"
    ExcelConnection = New System.Data.OleDb.OleDbConnection(ExcelObjConn)
    ExcelConnection.Open()
Try
        SqlCommand = "CREATE TABLE ABC ([row1] text, [row2] text, [row3] text, [row4] text)"

        ExcelCommand = New OleDb.OleDbCommand(SqlCommand, ExcelConnection)
        ExcelCommand.ExecuteNonQuery()
        ExcelCommand.Dispose()

        For i As Integer = 0 To 1124
            SqlCommand = "Insert into ABC ([row1], [row2], [row3], [row4]) Values ('information...', 'information ...', 'information ...', 'information ...')"
 ExcelCommand = New OleDb.OleDbCommand(SqlCommand, ExcelConnection)
            ExcelCommand.ExecuteNonQuery()
            ExcelCommand.Dispose()
        Next
Catch ex As Exception
Finally
If ExcelConnection IsNot Nothing Then
      ExcelConnection.Close()
      ExcelConnection.Dispose()
End If
End Try
我该怎么办?谢谢

解决方法

你好,我也找不到解决问题的方法。我最终做的是使用另一个单独的windows服务运行该进程。该代码在windows窗体或服务程序中运行时运行良好,但在asp.net中运行不正常,原因不明。希望此解决方案有帮助。

请在中尝试代码