Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: ActiveX/СОМ/CORBA > импорт из Excel в Delphi |
Автор: ilias 22.3.2006, 22:11 |
Здраствуйте! помогите пожалуйста! мне нужно сделать програму в Дельфи так что она загружала большую базу Эксель и в ней можно было Выбирать какой Эксель открыть, поиск по определеным строкам, фильтрация, как мне это сделать незнаю я только начинающий и никогда с этим не сталкивался, помогите пожалуйста!!!! |
Автор: Foley 22.3.2006, 23:44 | ||
Тебе проще из Эксель это все dBase переконвертить (в экселе при сохранении можно выбрать), есть специальные драйвера Эксель (по моему в ОДБЦ, и вроде в БДЕ есть). Если просто считать данные то можно так:
(delphiworld.narod.ru) |
Автор: Msl 24.3.2006, 07:45 | ||||
Обмен данными с Excel. 1. Для затравки и утоления жажды -фрагменты кода с комментариями (Ishodniki.RU) Автор: {Fernando Silva-mailto:[email protected]} В Delphi 5, для обмена данными между Вашим приложением и Excel можно использовать компонент TExcelApplication, доступный на Servers Page в Component Palette. Совместимость: Delphi (5.x или выше) На форме находится TStringGrid, заполненный некоторыми данными и две кнопки, с названиями To Excel и From Excel. Так же на форме находится компонент TExcelApplication со свойством Name, содержащим XLApp и свойством ConnectKind, содержащим ckNewInstance. Когда нам необходимо работать с Excel, то обычно мы открываем ExcelApplication, затем открываем WorkBook и в конце используем WorkSheet. Итак, несомненный интерес представляет для нас листы (WorkSheets) в книге (WorkBook). Давайте посмотрим как всё это работает. Посылка данных в Excel
Получение данных из Excel
2. есть служба XL Report Support на http://www.delphikingdom.com/ 3. VCL - XL Report - {http://www.afalinasoft.com/rus/} 4. Если задача серьезнее и есть желание- используй библиотеки экспорта/импорта: XLSReadWriteII 2.0 works with Delphi 5,6,7 and C++ Builder 5 and 6. home: http://www.axolot.com/components/xlsrwii20.htm Удачи! |
Автор: ilias 24.3.2006, 21:52 |
Да спасибо я по пробовал таким способом, но он так долго грузится если база большая, а комп у меня Р3 667 Мгц. Ждал минут 10-15 |
Автор: Albinos_x 24.3.2006, 22:01 |
можно попробовать писать напрямую в файл, например в формате csv, а потом открывать экселем... кроме того, по указанной мной ссылке показано как работать с группой ячеек, через вариантный массив, при его использовании загрузка в несколько раз ускорится... |
Автор: wind1 7.4.2009, 20:26 | ||
Тоже понадобилось считать из экселя данные и возник один вопрос. Когда выполняются следующие функции
то создается новый процесс excel.exe. Как корректно завершить этот процесс после того как я закончу считывание? |
Автор: Данкинг 7.4.2009, 20:29 | ||||
|
Автор: mr_tg 21.4.2010, 16:57 | ||||
Здраствуйте я на этом форуме новечок и делетант в програмировании. Мня тоже мучает вопрос как получать данные из excel. у меня получается заганять в Excel но из Excel в базу Парадокс7 не получается.
Как пишет MSL на верху я пробовалб но
красном пишет UNDECLARED IDENTIFIER: '_WorkBook;' Заране благадарю за помощь. MR_TG |
Автор: Akella 21.4.2010, 19:33 |
Выясни, в каком модуле _WorkBook и подключи в USES. Скорее всего это в модуле ExcelXP |
Автор: Данкинг 21.4.2010, 21:47 |
mr_tg, используй CreateOleObject, там таких проблем нет. |
Автор: Albinos_x 22.4.2010, 10:27 |
mr_tg, статью http://forum.vingrad.ru/forum/topic-84634/view-all.html читал? ЗЫ: 1 тема - 1 вопрос |
Автор: mr_tg 22.4.2010, 11:09 | ||||
спасибо друзя. я не волшебник я только учусь, и этот код скрипт я позаимствовал с этого сайта как вы понили, как сказал AKELLA Uses добавил ExcelXP и отуда прошол но типер говорит
Not enough actual parametres а сам код вот в таком виде
я еще не успел там напартачить (изменение внести). но прога не запускается. хотелось бы запустит и потом посмотрет как работает. и подганять под себя ![]() Заране благадарю за помощь. MR_TG |
Автор: Albinos_x 25.4.2010, 15:06 | ||||
ммм... могу сказать, что это не мой код... поэтому и спросил, читал ли ты статью по ссылке: в твоей команде не хватает двух параметров:
|
Автор: Norfonzor 19.5.2010, 08:26 | ||||||
Подскажите как указать кол-во листов при создании, добавить/удалить новый лист после последнего в эксел? добавление через
не работает у меня в программе работа с эксел по другому совершенно. открываю эксел (у меня):
в примерах:
это разные способы, если да то как в моем работать с листами? |
Автор: Regulum 19.5.2010, 17:38 | ||||
Это разные способы. В Вашем варианте будет так. Добавить новый лист после последнего:
XL.Sheets.Count - количество листов XL.Sheets.Item[i] - i-ый лист, соответственно XL.Sheets.Item[XL.Sheets.Count] - последний лист Удалить последний лист:
|
Автор: Akella 25.5.2010, 15:18 | ||
он тебе явно говорит, что не хватает параметров или перевести на русский не можешь? |
Автор: iglstivens 25.3.2015, 11:24 | ||||||
Большое спасибо, за данный код, но так как я в программировании новичок, просьба помочь данный код оптимизировать под конкретную задачу. Есть файл Excel с данными, имеется 24 столбца и порядка 10 тысяч строк, в каждой ячейки есть числовое значение. И так же имеются Online значения которые содержаться в другой таблице (принцип размещения значений аналогичный). Необходимо чтобы online таблицу со значениями сравнивали со значениями другой (большой) таблицы и находились схожие строчки по значениям, так как в online-таблице значения постоянно добавляются во время дня, то нужно на перед знать как себя будет вести оборудование в дальнейшем т.е прогнозировать. Так же хотелось что бы в окне отображался график как online-значений так и значений схожих с этими данными чтобы было все наглядно на графики. |