Тема: Memo 2 EXEL
Показать сообщение отдельно

  #2  
Старый 15.08.2008, 19:46
neprovad
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме:
1013791

Репутация: 711


По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleServer, Excel2000, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    XLApp: TExcelApplication;

    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
WorkBk : _WorkBook;
WorkSheet : _WorkSheet;
i : Integer;
begin
   XLApp.Connect;
   XLApp.Visible[0]:=True;
   XLApp.WorkBooks.Add(xlWBatWorkSheet,0);
   WorkBk := XLApp.WorkBooks.Item[1];
   WorkSheet := WorkBk.WorkSheets.Get_Item(1) as _WorkSheet;
   For i:=0 to memo1.Lines.Count-1 do
    Worksheet.Cells.Item[i+1,1]:=(memo1.Lines.Strings[i]);
   For i:=0 to memo2.Lines.Count-1 do
    Worksheet.Cells.Item[i+1,2]:=(memo2.Lines.Strings[i]);
   WorkSheet.Name := 'test';
   Worksheet.Columns.Font.Bold := True;
   Worksheet.Columns.HorizontalAlignment := xlRight;
   WorkSheet.Columns.AutoFit;
   XLApp.Disconnect;

end;

end.
есть еще более красивое решение через VarArrayCreate, но этот пример как то более нагляден

Последний раз редактировалось neprovad; 15.08.2008 в 19:48..
 
Ответить с цитированием