C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
DBGrid & Excel, Как просмотреть в DBGrid таблицу
Alek
Отправлено: 08.04.2005, 18:08


Не зарегистрирован







Подскажите, плз, можно ли открыть в DBGrid таблицу из Excel?
И как?

В Buildere есть всякие примочки для Excel, может через них?
full_lamer
Отправлено: 09.04.2005, 15:22


Машинист паровоза

Группа: Участник
Сообщений: 225



на палите компонент есть закладка ADO. используйте эти компоненты. очень удобно и эффективно, но только в том случае если данные в таблицах Excel структурированы под таблицу БД: нет объединенных столбцов. в одном столбце данные одного типа, хотя variant тоже вариант... wink.gif

примерная строка коннекта (connection string):
CODE
Provider=MSDASQL.1;Persist Security Info=False;Data Source=Книга Excel;Initial Catalog=C:\test.xls


текст SQL-запроса на выборку данных:
CODE
select * from "Лист1$"


Только учтите, что первая строка может быть использована в качестве наименований полей (столбцов)!

А в отсальном алгоритм такой же как и с другими базами данных:
ADOConnection
ADOQuery
DataSet
DBGrid

Отредактировано full_lamer — 09/04/2005, 21:18
Alek
Отправлено: 15.04.2005, 15:13


Не зарегистрирован







Спасибо, работает.
А как изменить значение в ячейке ч/з тот же DBGrid?
full_lamer
Отправлено: 18.04.2005, 09:28


Машинист паровоза

Группа: Участник
Сообщений: 225



я к сожалению не знаю синтаксис SQL для вставки в excel, но без него можно просто открыть файл Excel и прямо в файле изменить значения ячеек, предварительно закрыв соединение через ADO, если Вы изберете сей медод, то Вам сюда:
http://www.cbuilder.ru/WinLesson/bles1.htm
http://www.cbuilder.ru/WinLesson/bles1_2.htm
http://www.cbuilder.ru/WinLesson/bles1_3.htm
Alek
Отправлено: 26.04.2005, 09:35


Не зарегистрирован







Спасибо. Так я и сам умею.
Хотелось бы ч/з SQL
olegenty
Отправлено: 26.04.2005, 12:16


Ветеран

Группа: Модератор
Сообщений: 2412



приношу извинения, но читать — я ещё понимаю, а вот править — нет. Excel — не СУБД, и не надо его для этого использовать. а то однажды придёшь сюда с вопросом, почему в таблицу не вставляется болше, чем 65535 записей...

если всё тривиально, на худой конец можно пользоваться Access, и в любой момент экспортировать данные в Excel

Вернуться в Работа с базами данных в C++Builder