![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Excel
dima_kds © (2006-04-12 16:59:00)Здравствуйте. У меня такой вопос:
У меня есть Excel-приложение, которое я создаю в Delphi.
Потом создаю ADOConnection и DBGrid одной из таблиц.
Как мне перенести данные из DbGrid в Excel(если это возможно)? Или, если можно, прямо из ADOQuery сразу в Excel.
Заранее благодарен.
P.S. Спасибо за прошлые ответы.
Johnmen (2006-04-16 00:45:00) [1]Казалось бы, причём тут DBGrid? почти (с)
> И ещё возможно я гоню, но разве при использовании DbGrid
> все изменения не пишуться автоматом в "присоединённую" базу?
> !
Гонишь. Без сомнения...:)
Галинка (2006-04-16 00:28:00) [2]А как вообще достучаться до листа или книги екселя из дельфи? делаю так:
ADOConnection.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;Data Source=Файлы Excel;Extended Properties="DSN=Ôàéëû Excel;DBQ=C:\Program Files\Borland\Delphi6\Projects\Woerterbuecher.xls;DefaultDir=C:\Program Files\Borland\Delphi6\Projects;DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;PageTimeout=5;";Initial Catalog=C:\Program Files\Borland\Delphi6\Projects\Woerterbuecher.xls';
дальше соединяю к ней ADOTable, а списка таблиц/листов нет...
Ksenom (2006-04-15 17:59:00) [3]Есть вариант данные записывать через ADOQuery sql запросами... То есть считывать значения ячеек и писать в файл.
И ещё возможно я гоню, но разве при использовании DbGrid все изменения не пишуться автоматом в "присоединённую" базу?!
Галинка (2006-04-15 01:49:00) [4]А сервером автоматизации для Екселя не проще. Не бейте ногами...
ANB (2006-04-12 17:49:00) [5]Вариантов 2. (если я правильно понял задачу).
1. Простой, но не будет форматирвания - создать строку, в которую записать построчно содержимое набора данных, причем строки разделять #13#10, а поля - табуляцией. Скопировать эту строку в буфер, а в экселе вставить. Будет быстро и просто, но некрасиво.
2. Посложнее. Идешь циклом по набору данных, достаешь поля и складываешь в ячейки в эксель (через COM). Заодно можно их поформатировать.
Впрочем, пример этого кто то уже публиковал.
В любом случае, готовой процедуры для этого нет.