Быстрый экспорт в Excel с использованием транспонирования - PullRequest
0 голосов
/ 13 ноября 2018

я использовал решение, опубликованное в этой ссылке Быстрый экспорт больших таблиц данных в таблицу Excel в VB.Net

и работал очень хорошо, однако, когда мой код экспортирует более 15513 строк, код завершается ошибкой и появляется только «# N / A» в столбцах. как показано на рисунке ниже

Ошибка при экспорте большого количества строк см. используемый код:

        'numero de linhas
        Dim Nbligne As Long = dt.Rows.Count

        'Grava o cabeçalho das colunas e os dados
        For Each dc In dt.Columns

            colIndex = colIndex + 1
            'Cabeçalhos
            oWsh.Cells(1, colIndex) = dc.ColumnName
            oWsh.Cells(2, colIndex).Resize(Nbligne, ).Value = oXls.Application.transpose(dt.Rows.OfType(Of DataRow)().[Select](Function(k) CObj(k(dc.ColumnName))).ToArray())

        Next

PS: этот код продолжает работать в текущем приложении, потому что только в немногих случаях у меня есть более 15000 записей, но мне нужно окончательное решение этой проблемы. ; -)

Может кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 28 ноября 2018

После получения большого количества записей в этой процедуре я мог убедиться, что эта ошибка произошла в конкретной ситуации, которая больше не повторялась. Я полагаю, что эта ошибка может быть вызвана символом в поле varchar.

Таким образом, нет необходимости исправлять рутину.

Итак, спасибо, что прочитали мой вопрос; -)

...