导出语句应该怎么去写???(0分)

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

fiyphsh

Unregistered / Unconfirmed
GUEST, unregistred user!
现我使用以下控件ADOConnection、ADOQuery、DataSource连接数据库,
且用DBGridEh控件显示所查询出来的数据,
现想通过软件中点击Button控件(有加入SaveDialog控件)将DBGridEh控件显示出来的数据导出为Excel档,
实现此功能应该在Button控件事件加入什么代码才可以实现数据导出为Excel档了,
请高手帮忙编写一下,
万分感谢!!
 
这个笔记你进去看看..有好多的.

http://www.delphibbs.com/keylife/iblog_show.asp?xid=23219
 
朋友要加油哦~你很像当年的我
 
楼上的兄弟
新手没办法啦
你有没有方法指教一下啦
 
语句是这么写的
var
ExpClass:TDBGridEhExportClass;
Ext:String;
begin
savedialog1.FileName:='file1';
if (ActiveControl is TDBGridEh) then
if SaveDialog1.Execute then
begin
case SaveDialog1.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsText; Ext:= 'txt'; end;
2: begin ExpClass := TDBGridEhExportAsCSV; Ext:= 'csv'; end;
3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
else
ExpClass := nil; Ext := '';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <> UpperCase(Ext) then
SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
SaveDBGridEhToExportFile(ExpClass,DBGridEh1,SaveDialog1.FileName,False); //其中false为局部数据
end;

现在软件是可以运行了
新的问题又出现了
软件运行后我点"buuton"按钮一点反应都没有
按道理他应该会弹出"保存"对话框让我输入文件名啦
这是为什么了??
百思不得其解
是那段语句出现问题了?????
新手入行
往高手指点
万分感谢!!!!!!
 
应该是这两句造成的
if (ActiveControl is TDBGridEh) then
if SaveDialog1.Execute then
第一个判断是看当前控件是否为TDBGridEh,如果是的话才打开保存对话框。
其实你一点上就是TButton了,所以把第一句去掉或改成判断DataSet的RecordCount是否大于0
 
楼上的兄弟
可否留个邮箱给我
我把我所做软件的图片发给你
请你帮忙查看一下
这样做是不是可行
行吗?????
 
为什么就没有高手来帮忙指点一下了????
郁闷
 
同意fiyphsh
你应该是if (ActiveControl is TDBGridEh) then这里出问题
从代码看你必须先点击一下TDBGridEH,让它获得焦点
或者其它方法例如写代码获得焦点
然后点击button,ActiveControl is TDBGridEh才会为真,才能出现保存文件的对话框
如果你没有特别的目的
建议去掉if (ActiveControl is TDBGridEh) then
 
'Select LName As 姓名,LSex As 性别,LBorn As 出生日期 Into 通迅薄 In "'+SaveDlg.FileName+'.xls" "Excel 8.0;" From AddressBook'

可以参考1下这句
 
后退
顶部