Я использую (учусь) 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)