delphi FastReport 保存和加载已准备的报表

发布时间 2023-08-26 19:00:33作者: txgh

FastReport 保存和加载已准备的报表

属性和方法

TfrxReport.PreviewPages

property PreviewPages: TfrxCustomPreviewPages;

指向已完成报表的当前页面的链接。它用于与完成的报表相关的所有操作(打印、保存、导出等)。

TfrxCustomPreviewPages.LoadFromFile

function LoadFromFile(const FileName: String; ExceptionIfNotFound: Boolean = False): Boolean;

从文件加载准备好的报表。

参数

FileName 文件的名称。

ExceptionIfNotFound 如果为True,如果文件不存在,函数会产生一个异常。

TfrxCustomPreviewPages.LoadFromStream

procedure LoadFromStream(Stream: TStream; AllowPartialLoading: Boolean = False);

从流中加载准备好的报表。

参数

Stream 来源流。

AllowPartialLoading 允许部分加载大文件以节省内存。

TfrxCustomPreviewPages.SaveToFile

procedure SaveToFile(const FileName: String);

将准备好的报表保存到文件中。

TfrxCustomPreviewPages.SaveToStream

procedure SaveToStream(Stream: TStream);

将准备好的报表保存到流中。

TfrxCustomPreviewPages.Clear

procedure Clear;

清除准备好的报表。

例子

保存加载已准备的报表(从文件中加载保存)

procedure TForm1.Button14Click(Sender: TObject);
begin
  //加载报表
  frxReport1.LoadFromFile('C:\Users\Administrator\Desktop\测试报表.fr3');
  frxReport1.PrepareReport;
  //保存准备好的报表
  frxReport1.PreviewPages.SaveToFile('C:\Users\Administrator\Desktop\测试报表.fp3');
  //清除准备好的报表
  frxReport1.PreviewPages.Clear;
  //加载准备好的报表
  frxReport1.PreviewPages.LoadFromFile('C:\Users\Administrator\Desktop\测试报表.fp3');
  //显示报表(不能使用ShowReport方法显示报表)
  frxReport1.ShowPreparedReport;
end;

保存加载已准备的报表(从流中加载保存)

procedure TForm1.Button14Click(Sender: TObject);
var
  vStream: TMemoryStream;
begin
  //加载报表
  frxReport1.LoadFromFile('C:\Users\Administrator\Desktop\测试报表.fr3');
  frxReport1.PrepareReport;
  //保存准备好的报表
  vStream := TMemoryStream.Create;
  frxReport1.PreviewPages.SaveToStream(vStream);
  //清除准备好的报表
  frxReport1.PreviewPages.Clear;
  //加载准备好的报表
  vStream.Position := 0;
  frxReport1.PreviewPages.LoadFromStream(vStream);
  vStream.Free;
  //显示报表(不能使用ShowReport方法显示报表)
  frxReport1.ShowPreparedReport;
end;