关于动态报表,大家用的都是什么控件(方法)?(100分)

  • 主题发起人 主题发起人 base7
  • 开始时间 开始时间
我用Fr,很好做的.
 
FastReport如何做呢?
 
我尝试过用excel
可是,如果碰倒要输入0088545664564564
这样的数字,excel就会默认的把前面的0吃掉,而且位数超过12位就会用科学计数法
这个问题怎么解决呢?
 
to nzfsoft:
FR不好,不如RM,主要有以下方面:
1、中文折行处理不如RM
2、数值为0的,RM自动处理为空,不打印,FR不行
 
别的我不知道,但在excel中,如果你的数字前面有0的话,那么请在0的前面加一个',
就是单引号就可以完全显示了,注意是英文单角的单引号,这个引号不会被用户看到,
也不会打印出来。
 
我们一般都让用户自己选择应该打印的字段及条件,然后设置导出文件类型,
一般是EXCEL格式,然后由用户自己设定样式。
//导出成为excel子程序
Procedure TFrm_OutType.OutToExcel;
var
i,j:integer;
TheString,str:string;
aqryx:tadoquery;
begin
//创建一excel应用对象,并添加一excel工作簿
App:=CreateOleObject('Excel.application');
MyWorkBook:=CreateOleobject('Excel.Sheet');
App.Visible:=true;
App.Caption:='导出数据';
MyworkBook:=App.workBooks.Add;
//开始联接
aqryx:=tadoquery.Create(nil);
aqryx.Connection:=DataModule1.ADS_InData.Connection;
//开始导出
with Datamodule1do
begin
//将要导出的数据集的游标置到第一条
DataModule1.ADS_InData.close;
DataModule1.ADS_InData.open;
DataModule1.ADS_InData.first;
//字段名
for j:=1 to DataModule1.ADS_InData.Fields.Countdo
begin
//从字段表中查找相应中文名称
aqryx.Close;
aqryx.SQL.Clear;
aqryx.SQL.Add('select * from tb_TableField where english='+''''+DataModule1.ADS_InData.Fields[j-1].DisplayName+'''');
aqryx.Open;
aqryx.First;
str:=aqryx.FieldByName('chinese').AsString;
if aqryx.RecordCount=0 then
App.cells[1,j]:=DataModule1.ADS_InData.Fields[j-1].DisplayName
else
App.cells[1,j]:=str;
end;
aqryx.Free;
i:=2;//excel的第一行为字段名,第二行开始为所有记录
//导出记录
While DataModule1.ADS_InData.Eof=falsedo
begin
for j:=0 to DataModule1.ADS_InData.Fields.Count-1do
with DataModule1.ADS_InDatado
case Fields[j].DataType of {根据字段的类型自动转换}
ftString:begin
if DataModule1.ADS_InData.Fields[j].CurValue<>null then
TheString:=''''+DataModule1.ADS_InData.Fields[j].CurValue
else
TheString:='''';
App.cells[i,j+1]:=TheString;
end;
else
App.cells[i,j+1]:= DataModule1.ADS_InData.Fields[j].CurValue;
end;
i:=i+1;
DataModule1.ADS_InData.Next;
end;
end;
end;
 
关注册资金!!
 
自己写吧!
细微的地方可以全部由自己来定义,多爽!
我想这就是当程序员的骄傲吧!
 
你做过报表吗?
 
建议还是自己写吧,我当时有做过一个报表,根据不同客户的需求设置一些数据库语言的配置,不是很难的。
 
自己个儿写,你找控件的时间足以写个报表了。
 
我正在写一个brio类似的东西
希望和大家交流
yb@powerise.com.cn
 
RM控件可以做很多的事
 
我使用的是从“波兰”下栽的免费控件,你可以试一试!
 
凡雨飞雨:
用Excel速度会不会太慢,好像有个1000条记录就要很长时间
 
你小子怎么一天到晚坐在电脑前,把你这个问题提前呀?你自己也要动动脑筋呀!
 
老大:
你玩命的提前你的帖子,也帮我想想我的问题怎么解决啊!
另外,你是什么接入啊?
 
Report Machine,好用。
 

Similar threads

回复
0
查看
863
不得闲
D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
D
回复
0
查看
840
DelphiTeacher的专栏
D
后退
顶部