FlexReport for UWP
レポートのエクスポート
FlexReport の操作 > レポートのエクスポート

レポートをファイルにエクスポートし、それをクライアントや同僚に電子メールで配布する場合もあります。これは、FlexReport コントロールを使用して行うことができます。FlexReport は、次のエクスポート形式をサポートしています。

形式 説明
RTF(*.rtf) 一般的なワードプロセッサ(Microsoft Word や WordPad)で開くことができる RTF ファイルを作成します。これは、ページ付き XML ドキュメントまたは Open XML ドキュメントとして保存できます。
Microsoft Excel(*.xlsx) Microsoft Excel で開くことができる XLSX ファイルを作成します。
TIFF(*.tiff)、BMP、PNG、JPEG、GIF 画像 TIFF(Tag Image File Format)、BMP(Bitmap Images)、PNG(Portable Network Graphic)、JPEG、または GIF 型の画像ファイルを作成します。
PDF(*.pdf) Adobe の Acrobat ビューアまたはブラウザプラグインを備えたコンピュータ上で表示できる PDF ファイルを作成します。
HTML(*.html) レポートのHTMLファイルを作成します。

レポートをXLSX形式にエクスポートする

クイックスタート」セクションで作成したレポートをXLSX形式にエクスポートするには、以下の手順に従います。

  1. コードビューに次の名前空間を追加します。
    Imports C1.Xaml.Document.Export
    
    using C1.Xaml.Document.Export;
    
  2. XlsFilterクラスを使用して、レポートをXLSX形式にエクスポートするために次のコードを追加します。
    同じクラスを使用してレポートをXLS形式にエクスポートすることもできます。
    ' ユーザから対象のファイルを要求
    Dim fileSavePicker As New FileSavePicker()
    fileSavePicker.FileTypeChoices.Add("XLSX files", New String() {".xlsx"})
    Dim storageFile As StorageFile = Await fileSavePicker.PickSaveFileAsync()
    If storageFile Is Nothing Then
            ' ユーザーがエクスポートをキャンセルしました
            Return
    End If
    ' XlsFilterを初期化します。
    Dim filter As New XlsFilter()
    filter.UseZipForMultipleFiles = True
    filter.StorageFile = storageFile
    
    ' レポートをフィルタにレンダリングします。
    Await report.RenderToFilterAsync(filter)
    
    ' エクスポートされたファイルを起動します。
    Await Windows.System.Launcher.LaunchFileAsync(storageFile)
    
    // ユーザからのターゲットファイルの要求
    FileSavePicker fileSavePicker = new FileSavePicker();
    fileSavePicker.FileTypeChoices.Add("XLSX files", new string[] { ".xlsx" });
    StorageFile storageFile = await fileSavePicker.PickSaveFileAsync();
    if (storageFile == null)
        // ユーザーがエクスポートをキャンセルしました
        return;
    
    // XlsFilterを初期化します
    XlsFilter filter = new XlsFilter();
    filter.UseZipForMultipleFiles = true;
    filter.StorageFile = storageFile;
    
    // レポートをフィルタにレンダリングします
    await report.RenderToFilterAsync(filter);
    
    // エクスポートされたファイルを起動します
    await Windows.System.Launcher.LaunchFileAsync(storageFile);
    

同様に、レポートを RTF、HTML、PDF 形式にエクスポートすることができます。

レポートの画像ファイル形式へのエクスポート

上のコードを使用してレポートを画像ファイルにエクスポートすることはできますが、複数ページから成るレポートを画像ファイルにエクスポートすると、レポートの最初のページしか一度 にエクスポートされません。これは、画像形式フィルタが複数ページを 1 つのファイルに入れたレポートを直接サポートしていないためです。しかし、レポートの各ページに対応する 複数の画像ファイルを生成して 1 つの ZIP ファイルに格納することは可能です。次のコードは、画像形式フィルタクラスの 1 つ JpegFilter を使用して、複数ページから成るレポートを JPEG 形式にエクスポートし、エクスポートされた画像から成る 1 つの ZIP ファイルを作成します。

' ユーザから対象のファイルを要求
Dim fileSavePicker As New FileSavePicker()
fileSavePicker.FileTypeChoices.Add("ZIP files", New String() {".zip"})
Dim storageFile As StorageFile = Await fileSavePicker.PickSaveFileAsync()
If storageFile Is Nothing Then
        ' ユーザーがエクスポートをキャンセルしました
        Return
End If

' JpegFilterを初期化します。
Dim filter As New JpegFilter()
filter.UseZipForMultipleFiles = True
filter.StorageFile = storageFile

' レポートをフィルタにレンダリングします。
Await report.RenderToFilterAsync(filter)

' エクスポートされたファイルを起動します。
Await Windows.System.Launcher.LaunchFileAsync(storageFile)
  // ユーザから対象のファイルを要求
  FileSavePicker fileSavePicker = new FileSavePicker();
  fileSavePicker.FileTypeChoices.Add("ZIP files", new string[] {
    ".zip"
  });
  StorageFile storageFile = await fileSavePicker.PickSaveFileAsync();
  if (storageFile == null)
  // ユーザーがエクスポートをキャンセルしました
    return;
  
  // JpegFilterを初期化します。
  JpegFilter filter = new JpegFilter();
  filter.UseZipForMultipleFiles = true;
  filter.StorageFile = storageFile;
  
  // レポートをフィルタにレンダリングします。
  await report.RenderToFilterAsync(filter);
        
  // エクスポートされたファイルを起動します。
  await Windows.System.Launcher.LaunchFileAsync(storageFile);