Asp.net, использующий oledb для экспорта файла Excel, возвращает пустой файл Excel - PullRequest
1 голос
/ 24 февраля 2010

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

1 Ответ

0 голосов
/ 24 апреля 2012
...