У меня есть приложение Windows Forms с OpenFileDialog
. Пользователь нажимает кнопку «Процесс», и приложение просматривает файл - электронную таблицу Excel - и обрабатывает данные в нем. Все это работает, как и ожидалось, с одним предупреждением.
После завершения обработки файла файл остается заблокированным для редактирования, поэтому при открытии файла для внесения изменений появляется следующее сообщение:
![locked for editing](https://i.stack.imgur.com/8XxeJ.png)
Если я полностью закрою приложение, файл будет разблокирован, поэтому я предполагаю, что приложение просто удерживает файл дольше, чем следует. Я предполагаю, что должен быть какой-то Close()
метод или что-то, что освободит ресурсы, но я не могу точно понять, что мне нужно. Я попытался использовать Dispose()
и обернуть мой код в блок Using
, который, как я думал, уничтожил все автоматически, но безуспешно.
Вот мой код:
Using excel = New ExcelPackage(OpenFileDialog1.OpenFile)
Dim ws = excel.Workbook.Worksheets.First()
'Process data in ws...
OpenFileDialog1.Dispose() 'Doesn't seem to release the file
excel.Dispose() 'Doesn't seem to release the file
End Using