![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
связка с excel [D6]
nyron © (2006-02-14 19:12:00)Пожалуйста подскажите как сделать чтобы я из дельфи мог обращаться в excel (просто нужно брать данные из excel и переносить в дэльфи). плиз.
YurikGL (2006-02-14 21:25:00) [1]www.delphikingdom.com/helloworld/excel.htm
nyron (2006-02-14 19:57:00) [2]спасибо большое
umbra (2006-02-14 19:50:00) [3]из делфи получить доступ можно двумя способами (оба предполагают, что эксель установлен на компьютере)
1) использовать компонент TExecApplication с закладки Servers палитры
компонентов
2) Использовать функцию CreateOleObject
Я предпочитаю второй способ, потому что он позволяет легко переносить макросы, записанные в самом экселе в программу (в основном надо только заменять круглые скобки квадратными)
Создать эксель из программы, написанной в делфи можно так
uses ...., Variants, ActiveX, ComObj, Excel97, ...;
{....................................}
var
ExecApp: variant; // объявляем переменную, которая будет содержать ссылку
//на эксель
{.......................................}
procedure WorkWithExcel;
begin
ExcelApp := CreateOleObject('Excel.Application');//пытаемся создать экземпляр
//экселя
if VarIsEmpty(ExcelApp) or VarIsNull(ExcelApp) then //если не получилось
begin
ShowMessage('Не могу создать экземпляр Экселя');
exit;
end;
try //если получилось, то ловим возможные ошибки
{делаем все, что необходимо}
finally //в любом случае закрываем эксель в конце
ExcelApp.Quit; /закрываем приложение
ExcelApp := Unassigned; //освобождаем интерфейс. Это необходимо, чтобы
//наш эксель не остался в списке задач после
//работы с ним
end;
В пространстве междуtryиfinallyсовершаем в экселе все необходимые действия (чтение данных, запись данных, форматирование ячеек и т.д.). Чтобы понять, что там можно писать, лучше всего пользоваться самим Экселем. Открываете его, включаете запись макроса, совершаете необходимые действия, выключаете запись и после этого просматриваете текст макроса. После минимального редактирования его можно скопировать в программу на делфи.
Вообще эта тема очень обширна, и лучше поискать литературу и изучить ее.
Desdechado (2006-02-14 19:37:00) [4]подключаться к экселевским книжкам как к БД?
например, через БДЕ с использованием ODBC
есть и другие способы