| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Работа с Excel'ем |
| Автор: youri 9.6.2004, 02:31 |
| Пытался вот получить доступ к Excel'евской таблице из Delphi. В результате таблица отображалась в DBGrid. Но вот извлечь из DBGrid какую-то информацию у меня не получилось. Как это можно сделать? |
| Автор: December 9.6.2004, 04:35 |
| Что-то сомнительно, чтобы именно в DBGrid отобразилась информация. Может, StringGrid? |
| Автор: Maverick 9.6.2004, 09:03 |
| Ну почему... он мог подключится через ODBC... Или ADO.... Только вот что такое "извлечь данные из грида" я понять не смог.... |
| Автор: Georg4 9.6.2004, 09:45 |
| Может это он имеет ввиду сохранить данные в какой-то удобоваримой форме? Добавлено @ 09:46 Или возможность добавлять в файл ексел. Но по-моему она там и так есть |
| Автор: youri 9.6.2004, 12:06 | ||||
Именно через ADO
Извлечь данные из грида - возможность получить содержимое любой ячейки. У меня в принципе (только не помню как) получилось извлечь содержимое ячеек первой строки (наверное потому, что она была текущей) |
| Автор: Maverick 9.6.2004, 15:00 |
| Хо, друг мой.... Тут уже другие принципы в дело в ступают.... Но, чтобы не распространятся, ты скажи - ты хочешь имитацию Экселя соорудить? Или действительно у тебя там таблица?.... Если первое - кинь на форму Ole-контейнер с вкладки System по-моему, он у тебя экселем станет, если таковой в системе установлен... Если таблица, то грид - это просто окошко, ничего из него получить нельзя.... Хранитель информации Table... C ADO я неработал, но думаю там стандартно.... У Table есть методы Next, First, MoveBy.... ну много... к полям можно обратится по имени и по индексу в таблице.... Хочешь ячеку [1,1] .... Значит Table.First (переместились на первую строку), Table.Fields[0].Value - это значение первого поля (счет с нуля, по-моему).... (тут мог ошибится, проверить не могу счас, но примерно так).... Работать как в Экселе по координатам с DBGrid нельзя, забудь..... |
| Автор: youri 9.6.2004, 19:50 |
| Спасибо. А я тут пытался воспользоваться TTable для этого же дела: в Control Panel/ODBC Data Source Administrator/вкладка User DSN/список User Data Sources/Excel Files/кнопка Configure указал свою таблицу, выбрал в TTable.DatabaseName Excel Files, но при попытке задать содержимое поля TableName появляется пустой список (в моей таблице 2 листа), и, следовательно, когдп ставлю Table1.Active := True, Delphi мне говорит, что я не выбрал таблицу Можете объяснить, в чем тут дело (аналогично делал для Access'овской базы данных - все работает) |
| Автор: Старик 11.6.2004, 10:50 |
| Интересно !дай посмотреть строку подключения к таблице! |
| Автор: youri 12.6.2004, 01:27 |
| Не совсем понял, какую строку ты имеешь ввиду. Насколько я понимаю, TTable можно непосредственно ассоциировать с базой данных, для этого нужно установить свойства DatabaseName и TableName, а потом поставить Active:=TRUE. Затем к этой таблице можно подключить TDataSource, а к TDataSource - data-aware object |