Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Импорт файла Excel


Автор: Delvish 9.7.2008, 13:04
Добрый день! У меня имеется довольно сложный вопрос... Есть файл в формате *.xls, в котором находятся 3 листа, каждый из которых представлен вот в таком виде

| № п/п | Наименование | Маркировка | Количество | Стоимость |
|   1      | Транзистор       | KT-312         |     12            |    10           |
|   2      | Микросхема      | PL-2303       |     15            |    50           | 
  
и т.д. Мне хочется открыть этот файл (но не знаю как...) в своей таблице (вероятно, это будет DBGrid + ClientDataSet + DataSource), но еще не просто так, а с фильтрацией, т.е. нужны столбцы Наименование, Маркировка, Количество. Как мне это сделать? Читал много материала, но ничего не понял. Можно покороче и по понятнее? smile Если вам не трудно.
И, кстати, как добавятся строки, если в одной ячейке было несколько параметров (например, маркировка одного и того же транзистора может быть разной, хотя это одна и та же деталь, - записано в одной ячейке несколько значений)?

Автор: Frees 10.7.2008, 06:43
если эксель у тебя весь отформатирован как таблица импортируй его в access, и через ado подключайся к акцессу

Автор: Delvish 10.7.2008, 10:35
Цитата(Frees @  10.7.2008,  06:43 Найти цитируемый пост)
если эксель у тебя весь отформатирован как таблица импортируй его в access, и через ado подключайся к акцессу


ээээ... Ничего не понял. Можно поподробнее и понятнее разъяснить? Я не понимаю как мне все это сделать... Есть ссылочка, где бы все расписано было нормально? Или 5 минут лишнего времени чтобы мне растолковать?

Автор: Frees 10.7.2008, 12:21
а что конкретно не понятно? как в access перенести данные из excel?
или не знаеш как из access данные в делфи показать?

Автор: Akella 10.7.2008, 12:25
Лучший вариант - это импортирровать всё в датасеты, например, во временные таблицы и уже работать с датасетами.
Про импорт/экспорт: http://forum.vingrad.ru/forum/delphi-activex-com-corba-ole.html
Там даже есть готовые коды.

Автор: Delvish 10.7.2008, 15:53
не знаю каким образом мне в делфи загрузить файл. в формат mdb я его перевел, но что с ним делать? да и вообще, форматирование потерялось же... Ячейки, содержащие несколько значений, стали одной, разделенные квадратом. И то, что было выделено жирным - пропало, а мне хочется чтобы форматирование осталось, дабы разделять записи в ячейках. так что вариант с преобразованием в access отпадает. можете мне объяснить как просто открыть например в StringGrid'е файл экселя? мне нужно открыть его своей программой и пропарсить. но как это сделать я не знаю. какими компонентами пользоваться и что делать? Просто я читал что там нужны какие-то хитрые заморочки с серверно-клиентными компонентами...
какие компоненты мне использовать? TExcelApplication? TExcelWorksheet?

Автор: aleksh 10.7.2008, 16:27
можно обойтись и без компонентов если в uses прописать comobj
данные вопросы более подробно обсуждаются в http://forum.vingrad.ru/forum/delphi-activex-com-corba-ole.htmlразделе
а почему все началось c DBGrid?

Автор: Delvish 10.7.2008, 18:48
да DBGrid тут совсем ни при чем... мне просто нужно в какую-нибудь таблицу вписать данные из файла xls

Автор: Данкинг 10.7.2008, 22:54
Цитата(Delvish @ 10.7.2008,  19:48)
да DBGrid тут совсем ни при чем... мне просто нужно в какую-нибудь таблицу вписать данные из файла xls

Ну и подключай Excel обычным способом, как OLE-объект.

Автор: Delvish 11.7.2008, 02:59
Цитата(Данкинг @  10.7.2008,  22:54 Найти цитируемый пост)
Ну и подключай Excel обычным способом, как OLE-объект.


уууууууу.........  ребят, КАКИМ?? Вы можете доступно объяснить КАК это сделать? сказать легко, а объяснить?...

Автор: Данкинг 11.7.2008, 10:52
Цитата(Delvish @  11.7.2008,  03:59 Найти цитируемый пост)
уууууууу.........  ребят, КАКИМ?? Вы можете доступно объяснить КАК это сделать? сказать легко, а объяснить?..

http://forum.vingrad.ru/forum/topic-84634.html

Автор: Delvish 11.7.2008, 12:57
О! Вот теперь БОЛЬШОЕ спасибо! Хороший материал. Буду разбираться

Как будет 100 постов - поставлю плюсик smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)