delphi转excel_

来源:百度文库 编辑:神马文学网 时间:2024/04/27 19:03:16
我做了一个delphi程序,转出一些数据到excel中sheet1为原始数据sheet2是根据sheet1的数据写了一个枢纽分析表(数据透视表)在delphi中怎么写枢纽分析表的一些栏位的属性就是在excel版面设置中双击栏位可以设置的一些东西,如名称,是加总还是计数等,是否需要小计之类 
问题补充:
sheet1写入数据后,sheet2的透视表需要更新数据,怎么写更新,能否提示一下,谢谢
提问者: szamc153 - 三级最佳答案
我用Delphi做过Excel类似的报表,当时也发现直接控制生成数据透视表非常困难。后来问题解决了,方法如下,可以供你参考:1、先建立好Excel模板,模板中sheet2已做好了数据透视表,且各栏位的属性等都已设置OK,只是数据是空的;保存在程序可以访问到的地方;2、模板的sheet1中的数据至少先放上两行。两行是指数据透视表引用了这两行,这两行当然可以空数据;3、Delphi控制Excel数据填写时,先填写第一行数据,后续数据是先在第一行与第二行之间插入空行,再填写;这样sheet2的数据透视表在刷新时会自动跟着变的,所以就不用关心数据透视表的问题了。(最后可能需要删除最后一个空行)打开模板的语句是:workbook:=eclapp.workbooks.add('报表模板.xls');保存的时候,用自己生成的文件名,或用户输入的文件名,即可。==============================数据透视表刷新倒是个问题,不像一般的图表会自动刷新。数据透视表刷新的宏语句是(sheet2为当前工作表):ActiveSheet.PivotTables("数据透视表1").PivotCache.Refresh你可以试试,把这句改改放到Delphi中调用,使之在保存文件之前刷新。这我没试过,你得研究一下了。Good Luck!