将查询出的数据导入EXCEL时,按照某一条件(如:同一仓库,同一客户)分别导入到同一个EXCEL档的不同工作表,创建EXCEL档,工作表都是用代码控制
请问以上效果该如何实现?最好能有源码,谢谢!

解决方案 »

  1.   

    function ExcelDataSetPrint(DataSet:TDataSet):boolean; var TheExcel,Range:Variant; nrow,ncol,i:integer;  begin
       try
       begin
        if  not DataSet.Active then begin
           MessageDlg('不能打印关闭的数据集', mtInformation,[mbOk], 0);     exit;
         end;
        TheExcel:=CreateOleObject('Excel.Application');
        TheExcel.visible:=false;
         TheExcel.Workbooks.add;
        TheExcel.Workbooks[1].sheets[1].name:='打印单元';         nrow:=1;      for ncol :=1 to form1.DBGridEh1.FieldCount do
            TheExcel.worksheets[1].cells[nRow,nCol]:=form1.DBGridEh1.Columns[ncol-1].fieldname;         nrow:=nrow+1;       DataSet.First;       while not DataSet.Eof do begin
           for ncol :=1 to form1.DBGridEh1.Columns.Count  do
          TheExcel.worksheets[1].cells[nRow,nCol]:=form1.DBGridEh1.Fields[ncol-1].AsString;
             DataSet.Next;
             nrow:=nrow+1;
            end;
      TheExcel.visible:=true;
     end;
     except
      begin
        TheExcel.Quit;  end;  end;