超难问题!!!! 如何控制 excel 实现分类汇总  ????????????????????????
已经使用下面代码 创建excel对象:
   // 创建excel对象
   excel:= CreateOleObject('Excel.Application');
   并用excel对象导出下面的数据:姓名 性别 语文分 英语分
小明 男 55 66
小狗 男 41 44
小红 女 58 88
小白 女 78 65导出的时候已经按 "性别" 排序了, 现在 要用 excel对象 控制 excel 上面的数据 进行 分类汇总 , 分类字段是 "性别" ,汇总方式是 "求和",选定汇总项是 "语文分" 和  "英语分" ,汇总结果显示在数据的上方!!
如何控制 excel 实现分类汇总  ?? 请给出 详细的代码!!! 谢谢!!!

解决方案 »

  1.   

    你先在Excel中录制一段宏,然后把宏代码贴出来,我帮你翻译成Delphi里能用的。
      

  2.   

    打开Excel--》工具--》宏--》录制新宏--》然后进行你的操作,操作完毕以后停止录制宏--》工具--》宏--》Visual Basic编辑器--》左边选择“模块”--》模块1--》右面就显示出你刚才录制的宏代码了。
      

  3.   

    录好了,请你翻译成Delphi里能用的,谢谢Sub Macro1()
    '
    ' Macro1 Macro
    ' 宏由 USER 录制,时间: 2005-11-6
    ''
        Selection.Subtotal GroupBy:=2, Function:=xlSum, TotalList:=Array(3, 4), _
            Replace:=True, PageBreaks:=False, SummaryBelowData:=False
    End Sub
      

  4.   

    OLE专业户来了!!!uses ComObj;procedure TForm1.Button1Click(Sender: TObject);
    var
        vExcelApp, vWorkbook: Variant;
        v: Variant;
    begin
        v := VarArrayCreate([0, 1], varSmallint);
        v[0] := 3;
        v[1] := 4;    vExcelApp := CreateOleObject('Excel.Application');
        vExcelApp.Visible := true;
        vWorkbook := vExcelApp.WorkBooks.Open('C:\\ccrun\\123.xls');
        vExcelApp.Selection.Subtotal(2, -4157, v, True, False, False);
        // 添加自己的代码
    end;