Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2010, 21:41   #1
Leximus
Пользователь
 
Регистрация: 18.09.2010
Сообщений: 85
По умолчанию Работа в Delphi с Excel файлами!

Приветствую!
Моя программа обрабатывает большие файлы Excel. Работает над строчками, столбцами и ячейками. Какие то строки убирает, какието редактирует и т.д.

Работаю через Excel.Application

Но во первых метод очень медленный, во вторых когда моя программа обрабатывает Excel файл работать с Excel на компе просто не возможно. Работает она в скрытом режиме, и как только открываю другой файл, так сразу возникает ошибка и то с чем программа работала, просто становится видимым и програма с этим перестаёт работать.


Есть какие другие способы справиться с данной проблемой? Через другие компоненты работать с Excel? Я даже могу потом итог в другой формат сохранить, но до этого мне файл надо обработать.
Спасибо!
Leximus вне форума Ответить с цитированием
Старый 01.10.2010, 21:21   #2
Leximus
Пользователь
 
Регистрация: 18.09.2010
Сообщений: 85
По умолчанию

Ребята, никто ничего не может посоветовать или я насколько некоректно и не понятно вопрос сформулировал?
Leximus вне форума Ответить с цитированием
Старый 01.10.2010, 22:23   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да нет, всё корректно

Существует только два принципиальных подхода обработки XLS файлов из Delphi:
- рулить через OLE (то, что Вы используете)
- использовать компоненты прямого доступа к XLS файлам
(их много, например, XLSReadWriteII или TXLSFile)

Оба способа имеют свои плюсы и минусы.
Главный минус второго способа (я вижу, Вы склоняетесь к нему), это то, что эти компоненты платные (я не нашёл хороших бесплатных), (хотя, впрочем, этот факт в нашей стране обычно мало кого останавливает )
и то, что есть вещи, которые в этих компонентах нельзя/сложно сделать, хотя сам Excel это может легко сделать.

p.s. кстати, может быть, обрабатывать Ваши файлы прямо изнутри Excel через макрос на VBA ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.10.2010, 23:55   #4
Leximus
Пользователь
 
Регистрация: 18.09.2010
Сообщений: 85
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
да нет, всё корректно

Существует только два принципиальных подхода обработки XLS файлов из Delphi:
- рулить через OLE (то, что Вы используете)
- использовать компоненты прямого доступа к XLS файлам
(их много, например, XLSReadWriteII или TXLSFile)

Оба способа имеют свои плюсы и минусы.
Главный минус второго способа (я вижу, Вы склоняетесь к нему), это то, что эти компоненты платные (я не нашёл хороших бесплатных), (хотя, впрочем, этот факт в нашей стране обычно мало кого останавливает )
и то, что есть вещи, которые в этих компонентах нельзя/сложно сделать, хотя сам Excel это может легко сделать.

p.s. кстати, может быть, обрабатывать Ваши файлы прямо изнутри Excel через макрос на VBA ?
Файлы присылают поставщики, мне надо их предварительно обработать и засунуть обратно!

Мне нужен надёжный и быстрый способ, так как обработка например заключается в том чтобы в каждой строке в одном или в двух столбиках в каждой ячейке удалить пробелы по кроям в тексте. Каждый раз заного присылают и каждый раз одно и тоже!

Вот и нужно быстро это делать, а стандартный способ что то долгий... очень долгий

Вообщем мне надо уметь редактировать ячейки, удалять строки... и вроде всё... Больше вроде ничего такого не надо... ну может только есть вариант как то быстро просто находить все уникальные строки, как например командой SELECT GROUP BY - Но без этого я обойдусь!
Leximus вне форума Ответить с цитированием
Старый 02.10.2010, 11:32   #5
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Я лично, при работе с большим количеством XLS-файлов, перегружаю содержимое книг (и их листов, если не один) с использованием вариантных матриц во временную таблицу базы данных (допустим, формата cds) и далее работаю с этой таблицей как с таблицей БД. Можно работать и непосредственно с вариантной матрицей... Результаты работы можно сохранить в том же самом (или другом) XLS-файле... ИМХО...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 02.10.2010, 11:37   #6
Leximus
Пользователь
 
Регистрация: 18.09.2010
Сообщений: 85
По умолчанию

Вопрос закрыт, спасибо всем!
Leximus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами (Delphi 7) сер4ей Помощь студентам 8 12.11.2011 19:11
Работа с файлами из Excel axell_pnz Microsoft Office Excel 4 16.11.2009 11:10
работа с excel файлами через Delphi Winss Помощь студентам 6 08.09.2007 17:54