delphi转excel

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi转excel相关的知识,希望对你有一定的参考价值。

我做了一个delphi程序,转出一些数据到excel中 sheet1为原始数据 sheet2是根据sheet1的数据写了一个枢纽分析表(数据透视表) 在delphi中怎么写枢纽分析表的一些栏位的属性 就是在excel版面设置中双击栏位可以设置的一些东西,如名称,是加总还是计数等,是否需要小计之类

参考技术A 我用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!

以上是关于delphi转excel的主要内容,如果未能解决你的问题,请参考以下文章

[转]Delphi预编译指令总结

Delphi 表格 (DFM) 转文本

怎么在delphi中读取Excel数据 转

Delphi日期时间 UNIX [转]

DELPHI 字符串转 数据流

转:学习笔记:delphi多线程学识