Fastrepot如何将数据输出到excel中(17分)

  • 主题发起人 主题发起人 bowen_202
  • 开始时间 开始时间
B

bowen_202

Unregistered / Unconfirmed
GUEST, unregistred user!
Fastrepot如何将数据输出到excel中
 
怎么没人回答,是不是问题太简单了!不够可以加分啊!
DFW们,救命啊!我急着出excel报表.不然生意砸了!
 
我也想知道,up!
 
用FASTREPORT直接输出有问题?还需要自己校对,调整。
还是用OLE吧。自己写不是很方便但漂亮!
 
还是用lynu的那个控件吧,导成execl很方便
 
学习中,倾听.
 
Fast Report输出到Excel不能输出格式
 
可以用王海风的REPORTMACHINE,直接就有这个功能,而且改自fastreport
 
在上面添加一个excel的输出个是的控件就能自动保存的。
 
to all:
可是我输出了excel文件,但没有内容。是个空的excel表。为什么?
DFW们,求求你们了!
 
如果你用ADO,这样即可
dm.ADOConnection1.Execute('select * into nnn in "c:/now1.xls" "excel 8.0;" from JHDITEM' )
其中 nnn 是工作表名,c:/now1.xls 是生成的EXCEL文件名,JHDITEM 为你的数据表名。
 
to truecat:
我问的是《Fastrepot如何将数据输出到excel中》,大哥帮帮忙!
 
放一个fr里面的excel的控件,再预览的时候保春就可以了呀?
 
把分给我!
然后我失望地告诉你!no way!
 
我试过FR的这个功能,在预览窗口可以直接保存成EXCEL文件的,不过保存的速度太慢了。
而且生成的是EXCEL4的,不是EXCEL8的。
后来就用了上面这个办法。
 
我也很想知道,哪位大吓能告之一个简单的办法?
 
procedure TReportFrameBaseW.ToolButton1Click(Sender: TObject);
var
excelapp,workbook:variant;
row,column:integer;
ext,name:string;
begin
if not base_cds.Active then
abort;
savedialog1.Filter := 'execl files (*.xls)|*.xls' ;
if savedialog1.Execute then
begin
name:=savedialog1.FileName+ext;
if FileExists(name) then
if MessageBox(Self.Handle, PChar('文件已经存在,是否覆盖?'), '信息提示', MB_YESNO)=id_no then
begin

abort;
end
else
DeleteFile(name);
try
screen.Cursor := crHourGlass;
excelapp:=createoleobject('excel.application');
workbook:=excelapp.workbooks.add;
row:=1;
column:=1;
base_cds.DisableControls ;
for column:=1 to Base_cds.Fields.Countdo
excelapp.cells[row,column]:=Base_cds.Fields[column-1].FieldName ;
row:=row+1;
while not Base_cds.Eofdo
begin
for column:=1 to Base_cds.Fields.Countdo
excelapp.cells[row,column]:=Base_cds.Fields[column-1].AsString ;
Base_cds.Next ;
row:=row+1;
end;
// if savedialog1.Execute then
workbook.saveas(Name);
finally
excelapp.quit;
end;
Base_cds.EnableControls ;
screen.Cursor := crDefault;
MessageBox(Self.Handle, PChar('数据输出完毕'), '信息提示', MB_ok);
end;

end;
以上是我项目中的代码部分你修改一下!
 
多人接受答案了。
 
后退
顶部