K kingdom8848 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-15 #1 听过用Excel做报表,很灵活,可以任意地按客户的报表格式做,好像是通过VBA调用Excel的打印接口,然后用delphi填充数据,最后在Excel中打印,感觉很爽。谁有这方面的资料或例子,不知office中的什么文档有Excel的所有接口,郁闷。
听过用Excel做报表,很灵活,可以任意地按客户的报表格式做,好像是通过VBA调用Excel的打印接口,然后用delphi填充数据,最后在Excel中打印,感觉很爽。谁有这方面的资料或例子,不知office中的什么文档有Excel的所有接口,郁闷。
S smj_9547 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-15 #2 我有,但是你要考虑一个速度的问题!还有就是你要考虑数据大的时候没有释放等东西! 如果要我迟一点放上来!
N nana_1978 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-15 #3 用第三方控件很好啊,方便又漂亮,如果不喜欢英文界面还可以自己进行汉化.
K kingdom8848 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-15 #4 第三方控件暂时不考滤。To smj_9547,你可以发一个例子给我先看看吗?数据量大时你是如何处理的?谢谢!!!我的Email:kingdom8848@yahoo.com.cn
K kingdom8848 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-16 #6 To 电子专家,呵呵,倒到Excel里面打印简单的是没问题,如果碰到报表格式不规范,我要的是数据能够精确到可以填充到Excel的每一格。就是如果客户用Excel做了一个报表格式的模板,你负责把数据填进去,这中间不是简单的倒数据的问题。要做到很好的控制与人性化,还要通用性.最后打印与调整等交给有操作过Excel的客户自己去搞定。
To 电子专家,呵呵,倒到Excel里面打印简单的是没问题,如果碰到报表格式不规范,我要的是数据能够精确到可以填充到Excel的每一格。就是如果客户用Excel做了一个报表格式的模板,你负责把数据填进去,这中间不是简单的倒数据的问题。要做到很好的控制与人性化,还要通用性.最后打印与调整等交给有操作过Excel的客户自己去搞定。
Y yanghai0437 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-16 #7 我的做法,只要将查询语句传给vba,其它的由vba处理就可以了
A am2001 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-16 #8 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;
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;
K kingdom8848 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-17 #9 To yanghai0437 如果只传SQL语句给VBA,那么VBA如何获取数据库的数据,来填充到Excel中去。给点源码可以吗?
A am2001 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-17 #10 那样要在VBA里连接数据库取数据,原来我也那样做过,但这样有宏病毒就很麻烦了,常把这个VBA程序给杀没了
L lzmyxz Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-17 #11 excel的编程接口可以看excel的help文件,至于画线画格等问题,你可以通过录制宏来看源码。
A am2001 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-17 #12 我觉得还是先用Excel做好一张没有数据的空报表,再在Delphi里填充数据打印好
K kingdom8848 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-17 #13 To am2001:我的作法跟你说的差不多,我也是先建一张没有数据的Excel,然后通过VBA设置Excel的报表格式等,最后结合Delphi填充数据.Excel的VBA帮助文档是;VBAXL8.hlp.不过我想用StringGrid显示数据,然后调用Excel打印报表.各位不知有什么好的建议?本来是没什么问题,只是在StringGrid中不知如何显示以下列头 ------------------------------------------------------------ 本期结算 上期结余 | 本期发生|-------------------- |本期结余 总计|现金|支票|其他 ----------------------------------------------------------- 这样的列头不知在StringGrid中如何做到? 我想通过大家讨论一下,得到一个比较好的做法。有例子的能不能发给我看看?
To am2001:我的作法跟你说的差不多,我也是先建一张没有数据的Excel,然后通过VBA设置Excel的报表格式等,最后结合Delphi填充数据.Excel的VBA帮助文档是;VBAXL8.hlp.不过我想用StringGrid显示数据,然后调用Excel打印报表.各位不知有什么好的建议?本来是没什么问题,只是在StringGrid中不知如何显示以下列头 ------------------------------------------------------------ 本期结算 上期结余 | 本期发生|-------------------- |本期结余 总计|现金|支票|其他 ----------------------------------------------------------- 这样的列头不知在StringGrid中如何做到? 我想通过大家讨论一下,得到一个比较好的做法。有例子的能不能发给我看看?
K kingdom8848 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-20 #14 呵呵,算了,散分了。大家接着!!!am2001(50) lzmyxz(10) nana_1978(10) smj_9547(30) yanghai0437(40) 电子专家(10)