В повседневной жизни пакет 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.
Спасибо) Статья очень помогла
Очень рад что помог Вам.