delphi转excel

我做了一个delphi程序,转出一些数据到excel中sheet1为原始数据sheet2是根据sheet1的数据写了一个枢纽分析表(数据透视表)在delphi中怎么写枢纽... 我做了一个delphi程序,转出一些数据到excel中 sheet1为原始数据 sheet2是根据sheet1的数据写了一个枢纽分析表(数据透视表) 在delphi中怎么写枢纽分析表的一些栏位的属性 就是在excel版面设置中双击栏位可以设置的一些东西,如名称,是加总还是计数等,是否需要小计之类 展开
 我来答
宿友定芫
2019-09-16 · TA获得超过3742个赞
知道大有可为答主
回答量:3098
采纳率:32%
帮助的人:252万
展开全部
我用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!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式