![]() |
|
|
![]()
|
|
| dikiy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 23.6.2005 Репутация: нет Всего: нет |
Можно ли подключиться к экселю через адо или бде, а не создавать каждый раз аксесовскую базу и подключать туда экселевские таблицы? я попробовал создать в источниках данных одбц создать псевдоним, все создается в дельфи к этой базе вроде подключаюсь, но таблицу не вижу в чем может быть причина?
|
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
к Excel?!
что значит подключится - это же не СУБД?! |
|||
|
||||
| dikiy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 23.6.2005 Репутация: нет Всего: нет |
Да знаю чо это табличный процессор просто хотелось миновать путь создать базу аксес->прицепить туда таблицу эксель такое в принципе возможно?
|
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
Само собой ты можешь создать таблицу (или таблицы на разных листах). но какой смысл, если потом возникнут сложности с выборкой данных!
|
|||
|
||||
| dikiy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 23.6.2005 Репутация: нет Всего: нет |
ну таблицы я не создаю их присылают и не на разных листах а в разных файлах, а потом просят данные нв основании этих таблиц приходится их объединять через дельфи короче геморрой ну если сразу экселем пользоваться нельзя будем по старинке пожключать их через аксес
|
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
все равно я не понял сути задачи!
Добавлено через 13 минут и 10 секунд вот нашел в DRKB Чтобы использовать только стандартные компоненты давайте попробуем работать с Excel через ADO. Это не самый быстрый и далеко не первый по возможностям метод (DAO работает на порядок быстрее и предоставляет куда больше возможностей), но ADO компоненты входят в стандартную поставку 5 и 6 Дельфи. Итак заходим в Панель управления Windows, идем в свойства ODBC, делаем DSN используя Excel драйвер, не забываем указать в свойствах на файл Excel. Закрываем ODBC, открываем Дельфи. Ставим на форму ADOConnection. Идем в ConnectionString - строим строку подключения - надо выбрать только ODBC провайдер и на следующей вкладке указать сделанный DSN, остальные опции в большинстве случаев можно оставить как есть. Строка получена. Кстати ее можно вообще упростить до вида: "DSN=MyDsn". Теперь вам доступны листы файла как таблицы а весь файл как база данных. Подключаем ADOQuery к ADOConnection. Cоздаем таблицу, т.е. новый лист - путем запуска следующей квери:
Снова переходим в дизайн - ставим на форму ADOTable, указываем как Connection наш компонент с ADOConnection, теперь если кликнуть на свойстве TableName - вы сможете увидеть в списке сделанную нами таблицу "MyTable1". Соедините таблицу с DBGrid - убедитесь что работа с таблицей в Excel мало отличается от работы с другими базами данных. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
можно через ADO (ODBC), но будет очень глючно и медленно
Добавлено через 13 секунд в DRKB где-то был пример |
|||
|
||||
| mutex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 17.10.2004 Репутация: 2 Всего: 3 |
Попробуйте ADOConnection со строкой соединения, примерно так:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Tests\test1.xls;Extended Properties=Excel 8.0; Учтите, что Excel-файл должен содержать только таблицу, т.е. выбросьте всю текстовую шелуху. |
|||
|
||||
| Marduk |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 9.4.2007 Репутация: нет Всего: 2 |
Через ADO можно как в посте mutex, но таблица не должна быть открыта в экселе, т.к. для доступа к xsl файлам используется монопольный доступ. А если совместно с приведенным AdoConnection использовать ADODataSet, то будет возможно и sql запросы к excel таблице выполнять
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |