Share via


Personalizar las opciones de exportación

El motor de informes de Crystal le permite entregar informes de muchas formas. Utilizando la opción de exportación, puede enviar el informe a un archivo de disco, a una carpeta de Exchange o a MS Mail (MAPI). El informe puede exportarse a formato Excel, Crystal Reports, Microsoft Word, HTML, PDF (Portable Document Format) o RTF (Rich Text Format).

Hay tres formas de establecer las opciones de exportación de los usuarios:

  • Dejar el botón Asistente de exportación en la barra de herramientas CrystalReportViewer.
  • Crear un botón propio que llame al cuadro de diálogo del Asistente de exportación. Este método le permite ocultar la barra de herramientas estándar cuando no necesite ninguna de sus funciones o cuando desee personalizar la interfaz. Sólo está disponible a través de Windows Forms Viewer.
  • Escribir código para especificar un tipo y un destino de exportación concretos.

Exportar informes con el botón Exportar

El botón Exportar está situado en la esquina superior izquierda de la barra de herramientas de CrystalReportViewer. Cuando los usuarios hacen clic en este botón, un cuadro de diálogo les pide el formato de exportación.

Este botón aparece automáticamente a menos que desactive la barra de herramientas del visor; en cuyo caso puede pedir a los usuarios las opciones de exportación o utilizar código para exportar opciones específicas.

Pedir a los usuarios las opciones de exportación

Cuando sólo se necesita el botón Exportar de la barra de herramientas de CrystalReportViewer, puede deshabilitarla y crear su propio botón Exportar. Esta funcionalidad sólo está disponible con Windows Forms Viewer.

Crear un botón Asistente de exportación personalizado

  1. Agregue un control Button al formulario.
  2. Haga doble clic en el control Button para especificar el código del evento Click. En función del lenguaje que esté utilizando, inserte el código adecuado (de los ejemplos que aparecen a continuación) en el archivo de origen correspondiente.

[Visual Basic]

crystalReportViewer1.ExportReport ()

[C#]

crystalReportViewer1.ExportReport ();

[C++]

crystalReportViewer1->ExportReport ();

[VJ#]

crystalReportViewer1.ExportReport ();

Cuando los usuarios hagan clic en el botón, el cuadro de diálogo Exportar les pedirá que elijan una de las diversas opciones de formato de exportación de Crystal Reports para Visual Studio .NET.

Establecer las opciones de exportación a través de código

Puede establecer las opciones de exportación del informe estableciendo el destino, el formato y el nombre de archivo de exportación en el código.

Nota   No hay valores predeterminados para DestinationType, FormatType ni para DiskFileName; por consiguiente, debe especificar los valores de los tres campos. Esta acción puede llevarse a cabo mediante el motor de informes.

El siguiente ejemplo exporta el informe a disco en formato de Microsoft Excel 8.0.

Para establecer las opciones de exportación

  1. Agregue un control Button al formulario.
  2. Para la propiedad Text del control Button, escriba Exportar a archivo de MS Excel.
  3. Haga doble clic en el control Button para especificar el código del evento Click. En función del lenguaje que esté utilizando, inserte el código adecuado (de los ejemplos que aparecen a continuación) en el archivo de origen correspondiente.

[Visual Basic]

' Declarar variables y obtener las opciones de exportación.
Dim exportOpts As New ExportOptions()
Dim diskOpts As New DiskFileDestinationOptions()
Dim excelFormatOpts As New ExcelFormatOptions()
exportOpts = Report.ExportOptions

' Establecer las opciones de formato de Excel.
excelFormatOpts.ExcelTabHasColumnHeadings = true

exportOpts.ExportFormatType = ExportFormatType.Excel
exportOpts.FormatOptions = excelFormatOpts

' Establecer el formato de exportación.
exportOpts.ExportFormatType = ExportFormatType.Excel

exportOpts.ExportDestinationType = ExportDestinationType.DiskFile

' Establecer las opciones de archivo de disco.
diskOpts.DiskFileName = fileName
exportOpts.DestinationOptions = diskOpts

Report.Export()

[C#]

// Declarar variables y obtener las opciones de exportación.
ExportOptions exportOpts = new ExportOptions();
ExcelFormatOptions excelFormatOpts = new ExcelFormatOptions ();
DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();
exportOpts = Report.ExportOptions;

// Establecer las opciones de formato de Excel.
excelFormatOpts.ExcelUseConstantColumnWidth = true;
exportOpts.ExportFormatType = ExportFormatType.Excel;
exportOpts.FormatOptions = excelFormatOpts;

// Establecer las opciones de archivo de disco y de exportación.
exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
diskOpts.DiskFileName = fileName;
exportOpts.DestinationOptions = diskOpts;

Report.Export ();

[C++]

// Declarar variables y obtener las opciones de exportación.
ExportOptions* exportOpts = new ExportOptions();
ExcelFormatOptions* excelFormatOpts = new ExcelFormatOptions ();
DiskFileDestinationOptions* diskOpts = new DiskFileDestinationOptions();
exportOpts = Report->ExportOptions;

// Establecer las opciones de formato de Excel.
excelFormatOpts->ExcelUseConstantColumnWidth = true;
exportOpts->ExportFormatType = ExportFormatType::Excel;
exportOpts->FormatOptions = excelFormatOpts;

// Establecer las opciones de archivo de disco y de exportación.
exportOpts->ExportDestinationType = ExportDestinationType::DiskFile;
diskOpts->DiskFileName = "fileName";
exportOpts->DestinationOptions = diskOpts;

Report->Export ();

[VJ#]

// Declarar variables y obtener las opciones de exportación.
ExportOptions exportOpts = new ExportOptions();
ExcelFormatOptions excelFormatOpts = new ExcelFormatOptions ();
DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();
exportOpts = Report.get_ExportOptions();

// Establecer las opciones de formato de Excel.
excelFormatOpts.set_ExcelUseConstantColumnWidth(true);
exportOpts.set_ExportFormatType(ExportFormatType.Excel);
exportOpts.set_FormatOptions(excelFormatOpts);

// Establecer las opciones de archivo de disco y de exportación.
exportOpts.set_ExportDestinationType(ExportDestinationType.DiskFile);
diskOpts.get_DiskFileName(fileName);
exportOpts.set_DestinationOptions(diskOpts);

Report.Export ();