Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.05;
Скачать: CL | DM;

Вниз

связка с excel   Найти похожие ветки 

 
nyron ©   (2006-02-14 19:12) [0]

Пожалуйста подскажите как сделать чтобы я из дельфи мог обращаться в excel (просто нужно брать данные из excel и переносить в дэльфи). плиз.


 
Desdechado ©   (2006-02-14 19:37) [1]

подключаться к экселевским книжкам как к БД?
например, через БДЕ с использованием ODBC
есть и другие способы


 
umbra ©   (2006-02-14 19:50) [2]

из делфи получить доступ можно двумя способами (оба предполагают, что эксель установлен на компьютере)
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 совершаем в экселе все необходимые действия (чтение данных, запись данных, форматирование ячеек и т.д.). Чтобы понять, что там можно писать, лучше всего пользоваться самим Экселем. Открываете его, включаете запись макроса, совершаете необходимые действия, выключаете запись и после этого просматриваете текст макроса. После минимального редактирования его можно скопировать в программу на делфи.

Вообще эта тема очень обширна, и лучше поискать литературу и изучить ее.


 
nyron ©   (2006-02-14 19:57) [3]

спасибо большое


 
YurikGL ©   (2006-02-14 21:25) [4]

www.delphikingdom.com/helloworld/excel.htm



Страницы: 1 вся ветка

Текущий архив: 2006.03.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
15-1139569348
Kerk
2006-02-10 14:02
2006.03.05
Пентагон создает руку Терминатора


1-1138790667
ALS
2006-02-01 13:44
2006.03.05
XPManifest + LoadCursor = глюк


3-1136407474
bopmy
2006-01-04 23:44
2006.03.05
Создание в run-time компонентов заранее неизвестных типов


15-1139839172
Nick Denry
2006-02-13 16:59
2006.03.05
HTML editor в Delphi


1-1138894886
guitarist
2006-02-02 18:41
2006.03.05
прокручиваемое Memo