供你参考:
var info,filename:string;
myexcel:variant;
i,j:integer;
begin
if opendialog1.Execute then
   begin
     filename:=opendialog1.filename;
     try
       myexcel:=createoleobject('excel.application');
     except
       ShowMessage('无法打开Execl!');
       Exit;
     end;
     myexcel.visible:=false;
     myexcel.workbooks.open(filename);
     myexcel.worksheets[1].activate;
     info:='源数据库字段——→目标数据库字段'+#13;
     for i:=1 to adoquery1.FieldCount do
         info:='     '+info+trim(myexcel.cellS[1,i].value)+'——→'+adoquery1.Fields[i-1].fieldname+#13;
     if messagedlg(info+#13+'请认真核对!是否继续?',mtConfirmation, [mbYes, mbNo], 0)=mryes then
        begin
           for i:=2 to myexcel.used.range.Rows.Count do  begin
               adoquery1.APPEND;
               for j:=1 to adoquery1.FieldCount  do  begin
                   showmessage(inttostr(j)+':'+adoquery1.fields[j-1].asstring);
                   adoquery1.fields[j-1].asstring:=myexcel.cellS[i,j].value;
               end;
               adoquery1.post;
           end;
        end;
     Myexcel.workbooks.close;
     Myexcel.quit;
   end;
end;