共用方式為


自訂匯出選項

Crystal 報表引擎可讓您使用許多不同的方法來傳送報表。您可以使用匯出選項,將報表傳送至磁碟檔案、Exchange 資料夾,或 MS Mail (MAPI)。報表可匯出至 Excel、Crystal Reports、Microsoft Word、HTML、可攜式文件格式 (PDF) 或 Rich Text (RTF) 格式。

您可以使用三種方法來設定使用者的匯出選項:

  • 保留 CrystalReportViewer 工具列上的預設 [匯出專家] 按鈕。
  • 建立自己的按鈕來呼叫 [匯出專家] 對話方塊。如果您不需要標準工具列的其他功能或者您想要自訂介面,這個方法可讓您將工具列隱藏起來。這項功能僅限於 Windows Form Viewer 中使用。
  • 撰寫程式碼以指定特定的匯出類型和目的端。

使用匯出按鈕匯出報表

[匯出] 按鈕位於 CrystalReportViewer 工具列的左上角。當使用者按一下 [匯出] 按鈕,就會出現對話方塊提示使用者輸入匯出格式。

除非您關閉檢視器工具列 (在這種情況下,您可以提示使用者使用輸出選項,或使用程式碼匯出特定選項),否則 [匯出] 按鈕將自動出現。

提示使用者使用輸出選項

只有當 CrystalReportViewer 工具列需要 [匯出] 按鈕時,您才可以關閉工具列並且建立自己的 [匯出] 按鈕。這項功能僅限於在 Windows Form Viewer 中使用。

建立自訂的匯出專家按鈕

  1. Button 控制項加入至表單。

  2. 按兩下 Button 控制項以指定 Click 事件的程式碼。請根據您使用的語言,將適當的程式碼 (從下列範例中) 插入對應的原始程式檔。

    [Visual Basic]

    crystalReportViewer1.ExportReport ()
    

    [C#]

    crystalReportViewer1.ExportReport ();
    

    [C++]

    crystalReportViewer1->ExportReport ();
    

    [VJ#]

    crystalReportViewer1.ExportReport ();
    

    當使用者按一下這個按鈕時,[匯出] 對話方塊將會提示使用者從 Crystal Reports for Visual Studio .NET 所提供的不同匯出格式選項中選擇一個。

透過程式碼設定匯出選項

您可以藉由在程式碼中設定匯出目的端、格式和檔名,來設定報表匯出選項。

注意   DestinationTypeFormatTypeDiskFileName 並沒有預設值,因此您必須為這三個欄位指定值。這項作業可透過報表引擎完成。

下列範例以 Microsoft Excel 8.0 格式將報表匯出至磁碟。

若要設定匯出選項

  1. Button 控制項加入至表單。

  2. 請在 ButtonText 屬性中輸入「匯出至 MS Excel 檔案」。

  3. 按兩下 Button 控制項以指定 Click 事件的程式碼。請根據您使用的語言,將適當的程式碼 (從下列範例中) 插入對應的原始程式檔。 [Visual Basic] ' 宣告變數並取得匯出選項。 Dim exportOpts As New ExportOptions() Dim diskOpts As New DiskFileDestinationOptions() Dim excelFormatOpts As New ExcelFormatOptions() exportOpts = Report.ExportOptions

    ' 設定 Excel 格式選項。
    excelFormatOpts.ExcelTabHasColumnHeadings = true
    
    exportOpts.ExportFormatType = ExportFormatType.Excel
    exportOpts.FormatOptions = excelFormatOpts
    
    ' 設定匯出格式。
    exportOpts.ExportFormatType = ExportFormatType.Excel
    
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile
    
    ' 設定磁碟檔案選項。
    diskOpts.DiskFileName = fileName
    exportOpts.DestinationOptions = diskOpts
    
    Report.Export()
    

    [C#] // 宣告變數並取得匯出選項。 ExportOptions exportOpts = new ExportOptions(); ExcelFormatOptions excelFormatOpts = new ExcelFormatOptions (); DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions(); exportOpts = Report.ExportOptions;

    // 設定 Excel 格式選項。
    excelFormatOpts.ExcelUseConstantColumnWidth = true;
    exportOpts.ExportFormatType = ExportFormatType.Excel;
    exportOpts.FormatOptions = excelFormatOpts;
    
    // 設定磁碟檔案選項並匯出。
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
    diskOpts.DiskFileName = fileName;
    exportOpts.DestinationOptions = diskOpts;
    
    Report.Export ();
    

    [C++] // 宣告變數並取得匯出選項。 ExportOptions* exportOpts = new ExportOptions(); ExcelFormatOptions* excelFormatOpts = new ExcelFormatOptions (); DiskFileDestinationOptions* diskOpts = new DiskFileDestinationOptions(); exportOpts = Report->ExportOptions;

    // 設定 Excel 格式選項。
    excelFormatOpts->ExcelUseConstantColumnWidth = true;
    exportOpts->ExportFormatType = ExportFormatType::Excel;
    exportOpts->FormatOptions = excelFormatOpts;
    
    // 設定磁碟檔案選項並匯出。
    exportOpts->ExportDestinationType = ExportDestinationType::DiskFile;
    diskOpts->DiskFileName = "fileName";
    exportOpts->DestinationOptions = diskOpts;
    
    Report->Export ();
    

    [VJ#] // 宣告變數並取得匯出選項。 ExportOptions exportOpts = new ExportOptions(); ExcelFormatOptions excelFormatOpts = new ExcelFormatOptions (); DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions(); exportOpts = Report.get_ExportOptions();

    // 設定 Excel 格式選項。
    excelFormatOpts.set_ExcelUseConstantColumnWidth(true);
    exportOpts.set_ExportFormatType(ExportFormatType.Excel);
    exportOpts.set_FormatOptions(excelFormatOpts);
    
    // 設定磁碟檔案選項並匯出。
    exportOpts.set_ExportDestinationType(ExportDestinationType.DiskFile);
    diskOpts.get_DiskFileName(fileName);
    exportOpts.set_DestinationOptions(diskOpts);
    
    Report.Export ();