OberonCore https://forum.oberoncore.ru/ |
|
Пример считывания данных из таблиц Excel https://forum.oberoncore.ru/viewtopic.php?f=35&t=3274 |
Страница 1 из 1 |
Автор: | Иван Денисов [ Воскресенье, 20 Февраль, 2011 09:57 ] | ||
Заголовок сообщения: | Пример считывания данных из таблиц Excel | ||
Для различных задач может понадобится чтение данных из документа MS Excel. В родной комплектации BlackBox Component Builder имеется подсистема Ctl, которая предназначена для работы с документами MS Office. Небольшой пример использования этой подсистемы для чтения столбца чисел из таблицы xls прилагаю к этому посту.
|
Автор: | Ярослав Романченко [ Воскресенье, 20 Февраль, 2011 10:34 ] |
Заголовок сообщения: | Re: Пример считывания данных из таблиц Excel |
В качестве альтернативы, можно читать файлы Excel через ADO, как базу данных ![]() |
Автор: | Евгений Темиргалеев [ Воскресенье, 20 Февраль, 2011 12:04 ] |
Заголовок сообщения: | Re: Пример считывания данных из таблиц Excel |
А ещё лучше читать из CSV-текста. Чтобы ни быть привязанным ни к чему, кроме CSV-читалки, которую на ББ без проблем накатать. |
Автор: | nail_kh [ Суббота, 30 Апрель, 2011 00:33 ] |
Заголовок сообщения: | Re: Пример считывания данных из таблиц Excel |
Пример замечательный, кроме одного "но". После выполнения команды app.Quit() Excel из памяти не выгружается. Приходится процесс удалять вручную через диспетчер задач. Проблема эта не связана с Блекбосом. Провел поиск в гугле. Аналогичная проблема возникает и в других языках. Народ изощряется отлавливанием процесса и "убиванием" его с помощью Windows API. Хотелось бы однако найти более изящное решение. Может кто уже имел опыт? |
Автор: | Евгений Темиргалеев [ Суббота, 30 Апрель, 2011 01:10 ] |
Заголовок сообщения: | Re: Пример считывания данных из таблиц Excel |
nail_kh писал(а): Народ изощряется отлавливанием процесса и "убиванием" его с помощью Windows API. ага ... Может кто уже имел опыт? ![]() |
Автор: | nail_kh [ Суббота, 30 Апрель, 2011 02:01 ] |
Заголовок сообщения: | Re: Пример считывания данных из таблиц Excel |
Евгений, спасибо за информацию. Вроде то что нужно. |
Автор: | Иван Денисов [ Пятница, 23 Март, 2012 02:18 ] |
Заголовок сообщения: | Re: Пример считывания данных из таблиц Excel |
Интересно, что с MS Word такой проблемы нет: app.Close(NIL, NIL, NIL); убивает и процесс. Но для многих задач это не очень критично, поскольку при закрытии ББ, происходит видимо освобождение переменных и процесс закрывается вместе с ББ, также происходит при выгрузке модуля. При множественном использовании, чтобы не происходило размножение процесса и утечка памяти на большое количество открытых приложений Excel нужно использовать конструкцию Код: IF app = NIL THEN
app := Excel.NewApplication(); END; |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |