Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

связка с 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
есть и другие способы


Наверх

Титульная страница Поиск, карта сайта Написать письмо