Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Memo 2 EXEL (https://forum.antichat.xyz/showthread.php?t=81021)

n0153r 15.08.2008 18:52

Memo 2 EXEL
 
Есть проблемка :)
Есть 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

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


Время: 13:15