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

时间:2010-02-24 07:27:46

标签: asp.net vb.net excel oledb

我使用asp.net oledb将信息导出到excel文件。当导出的信息变得太大时遇到问题,在这种情况下我给出的代码,生成的excel文件变成一个空的电子表格。

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

无论行数多少,Windows窗体中的测试程序也能正常工作。

代码已简化,sql insertion命令中的“information ...”代表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,不知道为什么。希望这种解决方法有所帮助。

1 个答案:

答案 0 :(得分:0)