QuickRepを他の形式で保存する (Delphi 4以降)

 QuickReportの内容を テキストや HTML、CSVで保存する方法です。Delphi Tips の方でコードで TXT、HTMLで保存する方法を紹介しましたが、今回の方法はプレビュー画面の保存の際に保存形式を選択できる方法です。

まず TQuickRep を置いたフォームに QrTextFilterQrCsvFilterQrHtmlFilter を配置します。これだけです。

各フィルターの出力結果です。
これがレポートの内容です。

■ テキストで出力した結果
     Customer
     1
                            \40     1997/12/31         True
                            \50     1999/06/01         True
                             90
     3
                            \15     1996/11/30          
                            \25     1998/02/01          
                            \25     1996/11/30         True
                            155

■ CSVで出力した結果
"Customer","","",""
"1","","",""
"","\40","1997/12/31","True"
"","\50","1999/06/01","True"
"","90","",""
"3","","",""
"","\15","1996/11/30",""
"","\25","1998/02/01",""
"","\25","1996/11/30","True"
"","155","",""

■ HTMLで出力した結果

もちろんタグ付きの文字列で出力されます。内容はテーブルで構成されています。

Customer      
1      
  \40 1997/12/31 True
  \50 1999/06/01 True
  90    
3      
  \15 1996/11/30  
  \25 1998/02/01  
  \25 1996/11/30 True
  155    

↓実際はこんな感じにテーブルがつくられます。

Customer      
1      
  \40 1997/12/31 True
  \50 1999/06/01 True
  90    
3      
  \15 1996/11/30  
  \25 1998/02/01  
  \25 1996/11/30 True
  155    

コードで直接出力するには以下のようにします。

■ QuickRepの内容をいろんな形式で保存
procedure TForm1.Button1Click(Sender: TObject);
begin
  {uses に QRExport を追加}
  //CSVで出力
  QuickRep1.ExportToFilter(TQRCommaSeparatedFilter.Create('D:\report.csv'));
  //HTMLで出力
  QuickRep1.ExportToFilter(TQRHTMLDocumentFilter.Create('D:\report.htm'));
  //テキストで出力
  QuickRep1.ExportToFilter(TQRAsciiExportFilter.Create('D:\report.txt'));
end;