希望做过此类程序的各位大哥给小弟一个实例作为参考,
主要功能:从已知的excel中筛选信息后将信息存入另一个excel中。(希望给个实例,网上的代码看这有点晕)
最后运行环境是D7的。

解决方案 »

  1.   


    procedure TForm1.Button3Click(Sender: TObject);//在数据库中已经存在表 qqq
    var s:string;
      ADOConn:TADOConnection;
      aDataSet:TADODataSet;
    begin
      if OpenDialog1.Execute then
      begin
      ADOConn:=TADOConnection.Create(self);
      ADOConn.LoginPrompt:=false;
      ADOConn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
      +OpenDialog1.FileName
      +';Extended Properties=Excel 8.0;Persist Security Info=False';
      aDataSet:=TADODataSet.Create(self);
      aDataSet.Connection:=ADOConn;
      ADOConn.OpenSchema(siTables,EmptyParam,EmptyParam,aDataSet);
      aDataSet.Last;
      s:=aDataSet.Fields.Fields[2].AsString;//获取第一工作表表名
      aDataSet.Close;
      aDataSet.Free;
      ADOConn.Close;
      ADOConn.Free;  ADOQuery2.Connection:=ADOConnection1;
      ADOQuery2.SQL.Clear;
      ADOQuery2.SQL.Append('insert into qqq select * from OPENROWSET(');//将此处的qqq替换成你另外的那个Excel,查询条件自己加
      ADOQuery2.SQL.Append(quotedstr('MICROSOFT.JET.OLEDB.4.0'));
      ADOQuery2.SQL.Append(','+quotedstr('Excel 5.0;HDR=YES;Excel 8.0;DATABASE='+OpenDialog1.FileName)+',['+s+'])');
      ADOQuery2.ExecSQL;
      showmessage('ok');
      end;
    end;