Delphi- 操作EXCEL

  因工作需要,需要到操作EXCEL,先了解一下怎么读取EXCEL这个,做了一个DEMO,备注在这里

  一、读取EXCEL

unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls,ComObj;



type

  TForm1 = class(TForm)

    btn1: TButton;

    dlgOpen1: TOpenDialog;

    procedure btn1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



procedure TForm1.btn1Click(Sender: TObject);

var

  ExcelApp,WorkBook: Olevariant;

  ExcelRowCount,i:Integer;

  strName,strAge:string;

begin



  if dlgOpen1.Execute then

  begin



    ExcelApp := CreateOleObject('Excel.Application');

    WorkBook := ExcelApp.WorkBooks.Open(dlgOpen1.FileName);



    ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;

    //ShowMessage(IntToStr(ExcelRowCount));



    for i:=1 to ExcelRowCount+1 do

    begin

      strName:= ExcelApp.Cells[i,1].Value;

      strAge:= ExcelApp.Cells[i,2].Value;



      {如果有一行为空,则退出}

      if ((strName='') and (strAge='')) then

         exit

      else

      begin

      

        ShowMessage(strName);

        ShowMessage(strAge);



      end;





    end;





  end;



  {最后关闭连接}

  WorkBook.Close;

  ExcelApp.Quit;

  ExcelApp := Unassigned;

  WorkBook := Unassigned;





end;



end.

   

  读取出数据,插入数据库的语句,在网上百度到的。

  with query1 do         

  begin          

      close;          

      sql.clear;sql.add(insert into test(name,address) values(:name,:address));

      parambyname('name').asstring := excelx;

      parambyname('address').asstring := excely;

      execsql;         

   end;

 

你可能感兴趣的:(Delphi)