想用Excel打印报表,有做过用Excel打印报表的请进来,高分!!!(150分)

  • 主题发起人 主题发起人 kingdom8848
  • 开始时间 开始时间
K

kingdom8848

Unregistered / Unconfirmed
GUEST, unregistred user!
听过用Excel做报表,很灵活,可以任意地按客户的报表格式做,好像是通过VBA调用Excel的打印接口,然后用delphi填充数据,最后在Excel中打印,感觉很爽。谁有这方面的资料或例子,不知office中的什么文档有Excel的所有接口,郁闷。
 
我有,但是你要考虑一个速度的问题!还有就是你要考虑数据大的时候没有释放等东西!
如果要我迟一点放上来!
 
用第三方控件很好啊,方便又漂亮,如果不喜欢英文界面还可以自己进行汉化.
 
第三方控件暂时不考滤。To smj_9547,你可以发一个例子给我先看看吗?数据量大时你是如何处理的?谢谢!!!我的Email:kingdom8848@yahoo.com.cn
 
你可以把报表的内容倒到excel里面在打印!!
 
To 电子专家,呵呵,倒到Excel里面打印简单的是没问题,如果碰到报表格式不规范,我要的是数据能够精确到可以填充到Excel的每一格。就是如果客户用Excel做了一个报表格式的模板,你负责把数据填进去,这中间不是简单的倒数据的问题。要做到很好的控制与人性化,还要通用性.最后打印与调整等交给有操作过Excel的客户自己去搞定。
 
我的做法,只要将查询语句传给vba,其它的由vba处理就可以了
 
var
Appexcel,sheet:Variant;
begin
Appexcel:=CreateOLEObject('Excel.Application');
Appexcel.Visible:=False;
Appexcel.Workbooks.add(GetExePath+'report/syb.xls');
StrRptName:=Appexcel.ActiveWorkbook.Name;
sheet:=Appexcel.ActiveSheet;
//填充数据
Sheet.Cells(1, 1) := 'fsdfsafsf';
Appexcel.ActiveWorkbook.Saved:=True;
Appexcel.Dialogs.Item[$00000008].Show;//调用打印对话框
Appexcel.ActiveWorkbook.Close;
Appexcel.quit;
end;
 
To yanghai0437 如果只传SQL语句给VBA,那么VBA如何获取数据库的数据,来填充到Excel中去。给点源码可以吗?
 
那样要在VBA里连接数据库取数据,原来我也那样做过,但这样有宏病毒就很麻烦了,常把这个VBA程序给杀没了
 
excel的编程接口可以看excel的help文件,至于画线画格等问题,你可以通过录制宏来看源码。
 
我觉得还是先用Excel做好一张没有数据的空报表,再在Delphi里填充数据打印好
 
To am2001:我的作法跟你说的差不多,我也是先建一张没有数据的Excel,然后通过VBA设置Excel的报表格式等,最后结合Delphi填充数据.Excel的VBA帮助文档是;VBAXL8.hlp.不过我想用StringGrid显示数据,然后调用Excel打印报表.各位不知有什么好的建议?本来是没什么问题,只是在StringGrid中不知如何显示以下列头
------------------------------------------------------------
本期结算
上期结余 | 本期发生|-------------------- |本期结余
总计|现金|支票|其他
-----------------------------------------------------------
这样的列头不知在StringGrid中如何做到?
我想通过大家讨论一下,得到一个比较好的做法。有例子的能不能发给我看看?
 
呵呵,算了,散分了。大家接着!!!am2001(50) lzmyxz(10) nana_1978(10) smj_9547(30) yanghai0437(40) 电子专家(10)
 
在vba中连接数据库与vb完全相同
 

Similar threads

D
回复
0
查看
889
DelphiTeacher的专栏
D
D
回复
0
查看
857
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部