![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 16.10.2016
Сообщений: 9
|
![]()
Доброго времени суток всем! Заранее прошу прощения если тема создана не в том разделе.
Итак, есть код, который из Excel передает все данные на форму в dataGridView1. Естественно после работы с Эксель нужно выгрузить все его барахло для того чтобы он не висел в процессах. Весь код: Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
если нужен только 2007+ формат (xlsx, наверно xlsm тоже), то проще взять библиотеку основанную на OpenXML API, например ClosedXML https://closedxml.codeplex.com
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 16.10.2016
Сообщений: 9
|
![]()
Уже слишком много на Interop написано. Это ведт только часть кода) Замена библиотеки точно не вариант. Мне в идеале надо получить вот это вот:
Код:
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]() Цитата:
![]() я когда-то делал как-то так без всяких FinalReleaseComObject и все закрывалось и не висело. Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 16.10.2016 в 22:04. |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
там сложная вещь на самом деле.
надо освобождать каждую переменную из пространства имен интеропа. причем часто =null не помогает. поищите на проторах интернета AutoReleaseComObject класс. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]() Цитата:
тут у меня Range не освобождается и это не мешало. Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
![]() |
![]() |
![]() |
#7 | ||
Регистрация: 16.10.2016
Сообщений: 9
|
![]() Цитата:
Присваивание null переменным тоже работает, но сути вопроса не меняет. Если я в методе Open указываю просто путь кавычках напрямую, все корректно работает, а если прописываю переменную или прописываю вот так: Application.StartupPath + "\\Эксель.xlsm", то процесс остается висеть. Цитата:
У меня все коректно работает если освобождаю каждую использованную. Последний раз редактировалось Alex11223; 16.10.2016 в 22:17. |
||
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Так я ж говорю, releaseObject неправильный скорее всего.
Про путь не знаю, видимо так сложились звезды компилятора.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#9 |
Регистрация: 16.10.2016
Сообщений: 9
|
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
И что увидели в отладчике? Неужели ExcelApp в test стал null?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выгрузка из MySQL в Excel (некорректный файл Excel) | Maxx | PHP | 4 | 16.09.2015 00:07 |
Выгрузка в Excel | city32 | Общие вопросы Delphi | 2 | 18.10.2012 15:58 |
Выгрузка dll из всех процессов | Anton911 | Win Api | 3 | 01.08.2012 14:50 |
Выгрузка из БД в Excel | fenetka | Microsoft Office Excel | 6 | 20.10.2011 09:06 |
Выгрузка данных из БД в Excel | Rougez | Microsoft Office Excel | 3 | 17.06.2011 13:06 |