Ошибка восстановления Excel после сохранения файла EPPLUS - PullRequest
0 голосов
/ 21 ноября 2018

Я использую (учусь) EPPLUS с VB.NET.
Сначала я использовал чистый лист Excel и сохранил файл, а сохранил успешно .
Но когда я попытался вставить данные и сохранить вМой требуемый лист Excel (лист с валидациями и формулами) не сохраняет файл.

Тот же лист Excel при использовании с Office.Interop библиотека отлично сохраняет . Но взаимодействие медленное в скорости записи, поэтому я использовал EPPLUS.

Вот мой код:

Dim a As String = "D:\project1\bin\Debug\pro1\NGSTR1.xlsx"
    Dim b As String = "C:\Users\admin\Desktop\NGSTR1.xlsx"

    Dim file = New System.IO.FileInfo(a)
    Dim file2 = New System.IO.FileInfo(b)



    Using pck As New ExcelPackage(file)
        Dim ws As ExcelWorksheet = pck.Workbook.Worksheets("b2b")
        ws.Cells("A5").LoadFromDataTable(dt, False) '-----dt has the data
        pck.Save()
        'pck.SaveAs(file2) '-------- This isn't working either
End Using

После 2-3 минут процесса он показывает ошибку

Я получаю следующие ошибки:

Помощник по управляемой отладке 'ContextSwitchDeadlock':

'CLR не удалосьПереход из контекста COM 0x1bd79550 в контекст COM 0x1bd79428 в течение 60 секунд.Поток, которому принадлежит целевой контекст / квартира, скорее всего, либо делает ожидание без перекачки, либо обрабатывает очень длительную операцию без перекачки сообщений Windows.Эта ситуация, как правило, оказывает негативное влияние на производительность и может даже привести к тому, что приложение перестает отвечать на запросы или использование памяти постоянно увеличивается с течением времени.Чтобы избежать этой проблемы, все потоки однопоточных квартир (STA) должны использовать примитивы перекачки (такие как CoWaitForMultipleHandles) и регулярно перекачивать сообщения во время длительных операций. '

Или Иногда я получаю:

System.InvalidOperationException:

Ошибка при сохранении файла D: \ project1 \ bin \ Debug \ pro1 \ NGSTR1.xlsx

Внутреннее исключение:

ArgumentException:

Номер столбца без границ

Поэтому я искал в Интернете и нашел статью на GitHub
Добавилстрока pck.DoAdjustDrawings = False до pck.save

Сейчас файл получает сохранено , но когда я открываю Excel, отображается окно с сообщением о восстановлении.
При Да в диалоговом окне я получил сообщение

Удаленные записи: Именованный диапазон из /xl/workbook.xml part (Workbook)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...