delphi 控制 EXCEL 数据透视表
虽说报表多又难做,做报表相当容易。
做报表也可以偷懒的,超级实用又省事。只需要做一个报表,这个报表里面包括几乎所有的数据字段,然后将查询到的数据导出到
excel中,利用excel自带的“数据透视”功能,客户只需要点几下鼠标就可以生成自己所需要的报表。通过这种方法,一个报表可以产生n个
报表。通过几行代码可以操纵excel打开“数据透视”功能。冒必要在自己的程序里面做数据透视功能了,要做到excel数据透视那种功能效果,
还是要花费不少时间的。
function GetExcelCol(iCol: integer): string;
begin
Result := '';
case iCol of
1: Result := 'A';
2: Result := 'B';
3: Result := 'C';
4: Result := 'D';
5: Result := 'E';
6: Result := 'F';
7: Result := 'G';
8: Result := 'H';
9: Result := 'I';
10: Result := 'J';
11:Result :='K';
12:Result :='L';
13:Result :='M';
14:Result :='N';
15:Result :='O';
16:Result :='P';
17:Result :='Q';
18:Result :='R';
19:Result :='S';
20:Result :='T';
21:Result :='U';
22:Result :='V';
23:Result :='W';
24:Result :='X';
25:Result :='Y';
26:Result :='Z';
end;
end;
procedure TfrmReportSale.cxButton2Click(Sender: TObject); var iRows, iColumns: Integer; bb: OleVariant; s:string; begin if (not cds.Active) or cds.IsEmpty then Exit; if SaveDialog1.Execute then begin ExportGridToExcel(SaveDialog1.FileName, cxGrid1);
ExcelApp.Visible := True; WorkBook := ExcelApp.WorkBooks.Open(SaveDialog1.FileName); iRows := WorkBook.WorkSheets[1].UsedRange.Rows.Count - 1; iColumns := WorkBook.WorkSheets[1].UsedRange.Columns.count; s:=UntSysConst.GetExcelCol(iColumns);
bb := ExcelApp.ActiveWorkbook.PivotCaches.Add(xlDatabase, '销售报表!A1:' + s + inttostr(iRows)); bb.CreatePivotTable('', '销售报表'); ExcelApp.ActiveSheet.PivotTables['销售报表'].SmallGrid := False; application.Minimize; end; end;
delphi 控制 EXCEL 数据透视表的更多相关文章
- VSTO学习笔记(十四)Excel数据透视表与PowerPivot
原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的 ...
- C# 操作Excel数据透视表
一.概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号.列标和页字段.当改变版面布置时,数据透视表也会按照新的 ...
- Java 创建 Excel 数据透视表
Excel 数据透视表具有强大的数据处理功能,能够使表格中的数据更加直观化.使用Excel 数据透视表,能方便用户快速的排序. 筛选各种数据,同时也能满足用户对不同数据汇总的需求.本文将介绍如何在Ja ...
- 使用excel 数据透视表画图
① 打开Excel,选中需要制表的数据,点击“插入”->“数据透视表” ② 出现下列对话框,点击“确定” ③ 再新的“sheet”表内对“数 ...
- 妙用Excel数据透视表和透视图向导,将二维数据转换为一维数据
项目中,每年都会有各种经销商的各种产品目标数据导入,经销商和产品过多,手工操作过于单调和复杂.那有没有一种方式可以将复杂的二维数据转换为一维数据呢? 有,强大的Excel就支持此功能. 常用Excel ...
- Excel数据透视表的日常应用技巧
对工作表中数据进行统计是经常需要的.一般情况我们都是使用菜单命令或函数来进行数据的统计的.可是如果要统计的工作表中记录很多,而且需要统计的项目也很多时,使用这种方法就显得力不从心了.请问还有什么更好的 ...
- Excel数据透视表
Excel中每列是一个字段,每行是一条记录. 值字段设置,双击更改统计方法. 双击透视表中的数据可以看具体是哪些记录贡献的这些数据. 显示报表筛选页,生成多个工作簿.
- Excel应用程序如何创建数据透视表
原文作者:andreww 原文链接: http://blogs.msdn.com/andreww/archive/2008/07/25/creating-a-pivottable-programmat ...
- Excel学习 -- 数据透视表功能
Excel -- 数据透视表基础 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等.所进行的计算与数据跟数据透视表中的排列有关. 之所以称为数据透视表,是因 ...
随机推荐
- The partner transaction manager has disabled its support for remote/network transactions.
http://technet.microsoft.com/en-us/library/cc753510(WS.10).aspx
- map(function, sequence)
map(function, sequence) :对sequence中的item依次执行function(item),见执行结果组成一个List返回: >>> lt = range( ...
- [转载]C#图片格式(JPG,BMP,PNG,GIF)等转换为ICO图标
using System; using System.Drawing; using System.Windows.Forms; using System.IO; namespace ICOTest { ...
- PHP glob() 函数
定义和用法 glob() 函数返回匹配指定模式的文件名或目录. 该函数返回一个包含有匹配文件 / 目录的数组.如果出错返回 false. 语法 glob(pattern,flags) 参数 描述 fi ...
- hdu 3481 3482
Good Serial Inc.比较简单: #include<cstdio> #include<cstring> #include<algorithm> #defi ...
- IOS ITunesConnect 修改开发商名称
ItunesConnect→ManagerApps→应用→Contact Us
- SQL按日期Datatime来比较大小
数据库操作中,通常需要选择某日期以后的记录,比如选择10年1月到11年2月之间的记录,此时用SQL语句编写时,不能直接用">.<.="来选择,因为datetime型数据 ...
- delphi中的各种文件类型介绍
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:D ...
- 存储过程系列之存储过程具体操作过程及sql数据库调用
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. 存 ...
- 单元测试中Assert类
一.Assert类的使用 1.Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.Visua ...