进度显示的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 toffen
  • 开始时间 开始时间
T

toffen

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个过程是用来把dbgrid里的数据导出到excel的,但在导出的时候,它先是创建一个excel,然后一条条对应dbgrid里的数据往里写,这些过程都可以看见,我不想让用户看见,想改为用进度条来显示进度情况。请问应该怎么办?
 
我有一个过程是用来把dbgrid里的数据导出到excel的,但在导出的时候,它先是创建一个excel,然后一条条对应dbgrid里的数据往里写,这些过程都可以看见,我不想让用户看见,想改为用进度条来显示进度情况。请问应该怎么办?
 
将excel隐藏
另外导数据之前:
dbgrid.datasource.dataset.disablecontrols;
导完之后
dbgrid.datasource.dataset.enablecontrols;

具体代码:放一个progressbar作为进度条,设置step为1

procedure export(grid:TDBGrid; progress:TProgressBar);
var
ds:TDataSet;
begin
ds := grid.datasource.dataset;
if ds = nil then exit;
ds.disablecontrols;
ds.first;
while not ds.eof do
begin
//导出代码....
ds.next;
progress.stepit;//进度
end;
ds.enablecontrols;
end;
 
to--hongxing_dl
我想把报表保存到指定的目录呢?
就是我点击导出按钮,它显示进度,完了就保存到指定的目录下。谢谢你帮忙。
 
而且在导出的时候包括它创建excel都可以看到,我想这些都看不到,直接一个进度条,然后按指定的目录保存就好。
 
我看fastreport上面连续出现了三次进度条,是因为导出时把表头,数据,表尾分别处理的吗?
 
用Ole的方式可以,进度自己控制没有问题的,因为是自己写数据,然后显示可以设置ExeclApp的Visible为false就可以了,等写入完毕在显示,最后把这个文件保存(ExcelApp.SaveAs)出来就行了

http://www.delphibbs.com/delphibbs/dispq.asp?lid=759711
标题是: Delphi5 控制 Excel2000 心得
 
后退
顶部