怎样把 Quick Report 生成的报表结果保存成文件。(100分)

K

kasa

Unregistered / Unconfirmed
GUEST, unregistred user!
报表是分发或上交的,可是quick report 生成的报表没有保存成文件的功能,要想看只能打印
到纸上或从新生成报表数据。 各位大侠能否实现保存结果到文件,例入rtf文件。
 
QR专业版的带有此功能的,你看看帮助就有了.
而且以前的贴子也有讨论的.
 
procedure SaveReport(FileName:String;SourceQReport:TQuickRep);
var
TempTQRXLSFilter:TQRXLSFilter;
begin

TempTQRXLSFilter:=TQRXLSFilter.Create(FileName);
SourceQReport.ExportToFilter(TempTQRXLSFilter) ;
TempTQRXLSFilter.Free;
end;

但是也有缺点,象报表的其它信息无法保存。
//----------------------
2、
procedure TFrmCheckRecord.BitBtn4Click(Sender: TObject);
var i :integer;

begin
try
if ESumYear.Text='' then
begin
showmessage('请输入年度! 如:2000');
abort;
end;
bXls:=True;
ExcelApp:=CreateOleObject('Excel.Application');
MyWorkBook:=CreateOleobject('Excel.Sheet');
except
on Exceptiondo
raise exception.Create('无法打开Xls文件,请确认已 经安装EXCEL')
end;
ExcelApp.Visible := true;
MyworkBook:=ExcelApp.workBooks.Add;
//在此处插入读数据库及写Excel文档的代码
//其中写Excel文档的关键语句如下:
Myworkbook.worksheets[1].range['A1:G1'].Merge(True);
Myworkbook.worksheets[1].range['A1:G2'].HorizontalAlignment := $FFFFEFF4;
MyWorkBook.WorkSheets[1].Cells[1,1].Value := '金东纸业(江苏)有限公司 年终考核汇总表';
i := 2;
MyWorkBook.WorkSheets[1].Cells[i,1].Value := '员工编号';
MyWorkBook.WorkSheets[1].Cells[i,2].Value := '受评人姓名';
MyWorkBook.WorkSheets[1].Cells[i,3].Value := '部门编号';
MyWorkBook.WorkSheets[1].Cells[i,4].Value := '部门名称';
MyWorkBook.WorkSheets[1].Cells[i,5].Value := '到职日期';
MyWorkBook.WorkSheets[1].Cells[i,6].Value := '分数';
MyWorkBook.WorkSheets[1].Cells[i,7].Value := '年度';
Myworkbook.worksheets[1].Range['A1:G2'].Font.Color := clBlue;
Myworkbook.worksheets[1].Range['A1:G1'].Font.Name := '隶书';
Myworkbook.worksheets[1].Range['A1:G1'].Font.Size := 18;
i := 3;
with DMdo
begin
QExcelMark.close;
QExcelMark.ParamByName('pYear').AsInteger:=strtoint(ESumYear.Text);
QExcelMark.open;
QExcelMark.First;
while not QExcelMark.eofdo
begin
MyWorkBook.WorkSheets[1].Cells[i,1].Value := QExcelMark.FieldByName('empNo').AsString;
MyWorkBook.WorkSheets[1].Cells[i,2].Value := QExcelMark.FieldByName('name').AsString;
MyWorkBook.WorkSheets[1].Cells[i,3].Value := QExcelMark.FieldByName('dptNo').AsString;
MyWorkBook.WorkSheets[1].Cells[i,4].Value := QExcelMark.FieldByName('dptName').AsString;
MyWorkBook.WorkSheets[1].Cells[i,5].Value := QExcelMark.FieldByName('dateStarted').Value;
MyWorkBook.WorkSheets[1].Cells[i,6].Value := QExcelMark.FieldByName('sumPoint').AsFloat;
MyWorkBook.WorkSheets[1].Cells[i,7].Value := QExcelMark.FieldByName('chkYear').Value;
QExcelMark.Next;
Inc(i);
end;

end;
// with DMdo

end;
 
你好:
  你可以从 http://www.xinyuanpvc.com/zhangxzh.htm 网上下载一个演示demo程序
  之后,注册ttf16.ocx,之后运行Demo程序,可以保存为Excel文件. 如果你认为他能完成你的报表,请给我回信,我再发源代码给你.! 
  Email:zhangxzh@163.com

来自202.108.60.140 报表之王 的Email:zhangxzh@couragetech.com.cn 个人主页:http://www.xinyuanpvc.com/zhangxzh.htm
 
据说QR3.5专业版可以保存成RTF文件,到哪里可以下载?
如果可以发给我,分数可以商量多给些!
 
报表预览页中不是有save report和load report功能吗?
 
QR3.5专业版可以保存成RTF文件,到这里下载:
http://www.8421.org/download.php?id=141
 
顶部