怎样实现若干张表的统计,从不同的表中选择不同的字段,统计成一张表在EXCEL中显示统计结果。统计的方式可以是丛向,也可以是横向。

解决方案 »

  1.   

    假如我的表都没有相互关联的项怎么实现,统计的结果用SQL怎么追加到表中呢。不知道用OLE是否可以建立与Excel的显示。
      

  2.   


    Form1:TForm1;
    .
    .
    .
    implementation
    uses
    ComObject.XLConst;
    {$R*.DFM}
    procedure TformDestroy(Sender:Tobject);
    begin
      if not VaIsEmpty(XLAPP) then begin
    XLAPP.DisplayAlerts:=false;
      XLAPP.quit;
    end
    end;
    Procedure Tform1.button1Click(Sender:Tobject);
    Begin
       XLAPP:=CreateOleObject(‘Excel.Application’);
    //创建Excel自动化对象
    XLAPP.Visible:=True;//使对象可见
      XLAPP.Workbools.ADD(x1WBatWorkSheet);//添加一个工作表
      XLAPP.Workbools[1].WorkSheets[1].Name:=’Delphi data’;
      InsertData;
      HandleRange;
      ChangeColumns;
    end;Procedure Tform1.Insertdata;
    Var
      i:=Integer;
      Sheet:Variant;
    Begin
      Sheet:=XLApp.Workbooks[1].WorkSheets[‘Delohi data’];
      For i:=1 to 10 do
    Sheet.Cells[i,1];
    Sheet.Cells[i,1];
    end;
    end;Procedure Tform1.HandleRange;
    Var
      Range:Varian;
    Begin
      Range:=XLAPP.Workbooks[1].WorkSheets[‘Delphi Data’].Range[‘C1:F25’];
      Range:=Formula:=’=RAND()’;
      Range.Columns.Interior.ColorINdex:=3;
      Range.Border.LineStyle:=x1Continuous;
    end;Procedure Tform1.ChangeVolumns;
    Var
       ColumnsRange:Variant;
    Begin
       ColumnsRange:=XLAPP.Workbooks[1].WorkSheets[‘Delphi data’].Columns;
       ColumnsRange.Columns[1].ColumnWidth:=5;
       ColumnsRange Columns.Items[1].Font.Bold:=True;
       ColumnsRange Columns[1].Font.Color:=clBlue;
    end;
    End.