Использование Microsoft Excel в Delphi

В повседневной жизни пакет  Microsoft Office занимает лидирующие позиции. Трудно найти такой компьютер, где он не установлен. И согласитесь, было бы хорошо, чтобы программа имела возможность выводить свой результат в табличный редактор Excel.

В данной статье рассмотрим один из способов решения. В простейшем примере (листинг приведен ниже) при нажатии на кнопку с именем btnExcel загружается экземпляр Excel, становиться видимым. А при закрытии приложения Delphi закрывается и Excel.

unit UMain;
interface
uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    btnExcel: TButton;
    procedure btnExcelClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
     vExcel: Variant; // в данной переменной находиться ссылка на объект Excel
  end;
var
  Form1: TForm1;
implementation
uses ComObj;  //необходимо подключить модуль
{$R *.dfm}
procedure TForm1.btnExcelClick(Sender: TObject); //Обработчик кнопки
begin
   vExcel:=CreateOleObject('Excel.Application');
   vExcel.Visible:=True;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
    if not VarIsEmpty(vExcel) then
       vExcel.Quit;  //если открыт объект Excel, то его закрыть
end;
end.

 

Строка

 vExcel:=CreateOleObject('Excel.Application');
вызывает объект Excel, с именем Application, функция  CreateOleObject создает экземпляр этого объекта... Но программируя в  Delphi нет необходимости знать как именно происходит работа с автоматизированными объектами приложений Word и Excel.

Если зайти в диспетчер задач, то будет видна запущенная служба Excel. Для создания отчетов делать видимым окно Excel нет необходимости. Но чтобы нам весь процесс стал понятен строкой  vExcel.Visible:=True; сделаем Excel видимым.

Добавим следущую строку

vExcel.Workbooks.Add();

Если скобки будут пустыми, то будет просто запущен наш Excel со стандартной пустой книгой. Если необходимо открыть какой либо документ, то его имя должно быть в скобках.

vExcel.Workbooks.Add(ExtractFilePath(Application.ExeName)+'otchet.xls');

Будет открыт файл otchet.xls, находящийся в каталоге с программой. Следующей строчкой добавим в ячейку слово Text.

vExcel.Workbooks[1].WorkSheets[1].Cells[4,4].Value:='Text';

Workbooks[1] - это первая созданная книга,
WorkSheets[1] - 1-й ее лист;
Cells[4,4] - ячейка четвертая по счету, по горизонтали и по вертикали.

Итог мы научились выводить данные в таблицу Excel.

 

 

 

 

 

 

 

 

Использование Microsoft Excel в Delphi: 2 комментария

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *