请教,数据库动态报表的各种方法(100分)

  • 主题发起人 主题发起人 list000
  • 开始时间 开始时间
L

list000

Unregistered / Unconfirmed
GUEST, unregistred user!
问题:1.主表,2.主表结构表
求解:根据结构表的选择,动态打印主表数据,有标题,表格线,页数等
方法1.FASTREPORT 动态报表(最好有示例代码)
方法2.printer.canvas begin
doc //处理数据//表格线enddoc
方法3.直送excel 模板(如何用最好有示例代码)
方法4.送到文本,送打印机
方法5.三方控件ehli等详细安装,使用,示例.
其他方法...我不知道.
请发扬为人民服务精神,积极参与,叩谢大家
 
我贴段我曾经动态创建的方法:
var //定义动态控件数组
arr_tit1,arr_tit2,arr_jc:array of RMMemoView;
arr_Page: array of TRMReportPage;
.............
setLength(arr_tit1,page);
setLength(arr_tit2,page);
setLength(arr_jc,page);
setLength(arr_Page,page);
for i:=0 to page-1do
begin
//生成新页
arr_Page:= TRMReportPage.Create;
arr_Page:=RMRepSrc.RMReport1.Pages.AddReportPage;
..............

 
rm我没用过,据说是改造于fastreport.
 
曾经用过对付excel的一段程序
//将数据存储到excel文件中
procedure TForm1.excelsave(dir:string);
begin
if Length(dir)<>3 then
dir:=dir+'/';
e.Connect;
e.Visible[0]:=False;
wenjian:=FormatDateTime('yyyy-mm-dd',Now);
shijian:=FormatDateTime('hh:mm:ss',Now);
if FileExists(dir+wenjian+'.xls')=True then
begin
//文件存在时的处理
DeleteFile( ExtractFilePath(Application.ExeName)+ 'temp.xls');
e.Workbooks.Open(dir+wenjian+'.xls',Null,Null,Null,Null,Null,Null,
Null,Null,Null,Null,Null,Null,0);
eb.ConnectTo(e.Workbooks[1]);
es.ConnectTo(eb.Worksheets[1] as _worksheet);
//有文件时处理
dispose1;
e.ActiveWorkbook.SaveAs(ExtractFilePath(Application.ExeName)+ 'temp.xls',
null,null,null,0,0,0,0,0,0,0,0);
DeleteFile(dir+wenjian+'.xls');
e.Workbooks.Open(ExtractFilePath(Application.ExeName)+ 'temp.xls',Null,
Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,0);
// e.Worksheets.Application.Columns.ColumnWidth:=16;
e.ActiveWorkbook.SaveAs(dir+wenjian+'.xls',Null,Null,Null,0,0,0,0,
0,0,0,0);
end
else
begin
//文件不存在时候的处理
e.Workbooks.Open(ExtractFilePath(Application.ExeName)+ 'temp.xls',Null,
Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,Null,0);
eb.ConnectTo(e.Workbooks[1]);
es.ConnectTo(eb.Worksheets[1] as _worksheet);
//无文件时处理
dispose2;
// e.Worksheets.Application.Columns.ColumnWidth:=16;
e.ActiveWorkbook.SaveAs(dir+wenjian+'.xls',Null,Null,Null,0,0,0,0,
0,0,0,0);
end;
e.Workbooks.Close(1);
e.Disconnect;
end;
 
后退
顶部