现在的位置: 首页 > 综合 > 正文

delphi EXCEL —>dbgrid TClientDataSet

2013年10月14日 ⁄ 综合 ⁄ 共 1406字 ⁄ 字号 评论关闭
use ComObj
procedure Tmain_f.Button2Click(Sender: TObject);
var
 eclapp,workbook,excelsheet:variant;
 i,num:integer;
 col1,col2,col3,col4,col5,col6,col7,col8,col9:string; 
begin
  if not tmp_cds.Active then tmp_cds.Active:=True;
  if OpenDialog1.Execute then
  begin
   if OpenDialog1.FileName<>'' then
   begin
      eclapp:=createoleobject('excel.application');
       workbook:=createoleobject('excel.sheet');
       workbook:=eclapp.workbooks.add;
       workbook:=eclapp.workbooks.open(opendialog1.FileName);
       eclapp.workbooks.item[1].activate;
       excelsheet:=workbook.sheets[1];
       eclapp.visible:=0;
       i:=5;
      while trim(excelsheet.cells.item[i,1])<>'' do
      begin
      col1:=excelsheet.cells.item[i,1];
      col2:=excelsheet.cells.item[i,2];
      col3:=excelsheet.cells.item[i,3];
      col4:=excelsheet.cells.item[i,4];
      col5:=excelsheet.cells.item[i,5];
      col6:=excelsheet.cells.item[i,6];
      col7:=excelsheet.cells.item[i,7];
      col8:=excelsheet.cells.item[i,8];
      col9:=excelsheet.cells.item[i,9];

        tmp_cds.Append;
       // tmp_cds.FieldByName('EmployeeID').AsString:=col1;
        tmp_cds.FieldByName('LastName').AsString:=col2;
        tmp_cds.FieldByName('FirstName').AsString:=col3;
        tmp_cds.FieldByName('Title').AsString:=col4;
        tmp_cds.FieldByName('TitleOfCourtesy').AsString:=col5;
        //tmp_cds.FieldByName('BirthDate').AsString:=col6;
       // tmp_cds.FieldByName('HireDate').AsString:=col7;
        tmp_cds.FieldByName('Address').AsString:=col8;
        tmp_cds.FieldByName('City').AsString:=col9;
        tmp_cds.Post;
      inc(i);
     end;
      workbook.close;
      eclapp.quit;
      eclapp:=unassigned; 
    end;
   end;
  end; 

【上篇】
【下篇】

抱歉!评论已关闭.