关于把DBGrid导出为Excel文件的问题,进来交流一下好吗?(200分)

  • 主题发起人 主题发起人 forgot2002
  • 开始时间 开始时间
F

forgot2002

Unregistered / Unconfirmed
GUEST, unregistred user!
Ehlib中有把当前的DBGridEh导出为Excel(*.XLS)格式的功能,但对于多表头,它直接导出
的为Caption,即a|b形式,无法象在DBGridEh显示那样,把多表头的第一行标题合并。也不
支持生成表的总标题,比如我想在导出的Excel表中的第一行是一个合并了多列的大单元格,
显示表的总标题,不知道在Ehlib中能不能实现这个功能呢?如果不能的话,是不是应该用
XLSWrite呢?但我找不到含源代码的最新版的XLSWrite呀!而且不知道它是否支持Excel2000
,谁用过的话可以传授一点经验吗?谢谢!
 
用DXDBGRID不就可以了吗?DBGrid本来就是鸡肋
 
利用OLE功能,DELPHI面板有他的控件
 
Dataset导出Excel:有源码可以参考吗?
 
对,用DxDBGrid导出就行了。
 
对不起,我一定要用DBGridEh,因为项目已经做出来了,我只是想附加导出为Excel文件的功能
上去,所以不能用DxDBGrid.
 
呵呵,DBGridEh 不也有导出到Excel的功能嘛!
 
DBGridEh导出的Excel文件可以在97,2000,xp下打开,但速度较慢,原因是格式不完整。
我看过源码,它采用的是直接写文件的方法,
数据行以回车换行分隔,数据列以TAB键分隔,再加上一个简单的.xls文件识别头和尾。
就目前的这种DBGridEh输出方式来说,是不太可能实现合并单元格的功能(作者也不太
了解.xls的文件具体格式,见readme文件的自述)。
所以要实现合并单元格,最好的方式还是使用ole或是接口技术,由Excel自身来完成这个任务。
 
我有专用 倒出到EXCL得控件,留下EMAIL
 
DXDBGRID在数据量大时,也会有问题
 
To weiweiHU,你的控件有合并单元格的功能吗?能导出DBGridEh吗?
 
各位高手:
如果有倒出execl的控件,或有什么好方法,请email一份给小弟一份,我将万分感谢!
我的mail:bylbyl@nxre.com
 
如果要自己写的话可以参考一下dxDBGrid的写法,详见dxGrExpt.pas,它就是把
GRID里的内容直接写成Excel 4.0的格式,然后可用高版本Excel的读写
 
到全文检索里查一查,以前有类似问题。
 
我倒是见过这么一个文件:在大富翁的2001-11-23的离线数据库中有,很好用,
是采用ole技术直接控制excel文档,不过如果不做分页处理的话,速度还是比较可以的。
直接在chm格式的离线包中查询excel就可以了
 
其实我觉得如果你对VBA有一定了解的话,你还不如自己写一段程序来把DBGRID中的
数据导出到EXCEL中来。如果你写成一个通用的函数,那可以是一劳永逸的事情嘛。
 
试试这个控件:
http://asp.6to23.com/bcbcn/control/dncontrol.asp?id=140
 
先建立Excel application 之后在建立sheet即它的cell了。对着它写你dbgrid的值就可以了。
具体的,因为我的原程序不在身边了。你去看excel的vb的脚本帮助了。里面找出
对excel怎么画线,怎么居中,设置字体。等等了。因为我的原程序不在身边了。
记得它需要最后在visible了。其实你也可以学习一下了。只要这个你学懂了。
那delphi怎么用office 2000的带的函数,你也就懂了。不需要什么控的,自己写就可以
搞定了。不需要你给什么分数,只是给你点提示了。因为是去年写的程序了。
我现在也忘记了。要不然可以给你原代码的。
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
825
DelphiTeacher的专栏
D
D
回复
0
查看
831
DelphiTeacher的专栏
D
后退
顶部