Memo 2 EXEL

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by n0153r, 15 Aug 2008.

  1. n0153r

    n0153r Elder - Старейшина

    Joined:
    19 Jun 2007
    Messages:
    260
    Likes Received:
    92
    Reputations:
    11
    Есть проблемка :)
    Есть 2 Мемо :
    нужно закинуть значения с одного в первий столбец Екселя а инфу с второго в столбец № 2.
    Подкиньте идею или пример.(с меня +)
     
    3 people like this.
  2. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    Code:
    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, но этот пример как то более нагляден :)
     
    #2 neprovad, 15 Aug 2008
    Last edited: 15 Aug 2008
    2 people like this.
  3. n0153r

    n0153r Elder - Старейшина

    Joined:
    19 Jun 2007
    Messages:
    260
    Likes Received:
    92
    Reputations:
    11
    Пасиб большое очень помог.
    С меня как я и говорил (+).