Я использую 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. Код прекрасно работает из окна формы или служебной программы, но не asp.net, не знаю почему. Надеюсь, этот обходной путь поможет.