PDA

Просмотр полной версии : Memo 2 EXEL


n0153r
15.08.2008, 18:52
Есть проблемка :)
Есть 2 Мемо :
нужно закинуть значения с одного в первий столбец Екселя а инфу с второго в столбец № 2.
Подкиньте идею или пример.(с меня +)

neprovad
15.08.2008, 19:46
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, но этот пример как то более нагляден :)

n0153r
16.08.2008, 08:58
Пасиб большое очень помог.
С меня как я и говорил (+).