2011-06-12 262 views

Respuesta

1

Tienes que hacerlo tú mismo: crea una lista desplegable con los formatos que quieras y un botón para hacer una devolución de datos para exportar.

Este es un ejemplo para .Net 1.1/CR9. Al hacer una devolución de datos a lo siguiente:

  1. asignar a su informe de instancia de clase valor de la propiedad MyReport.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
  2. si desea exportar a .pdf haga lo siguiente: MyReport.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat; También puede optar por WordForWindows, RichText, Excel, HTML40 y más.
  3. A continuación, haga lo siguiente:

    CrystalDecisions.Shared.DiskFileDestinationOptions fileOptions = new DiskFileDestinationOptions();

    fileOptions.DiskFileName = "someTmpFileName";

    MyReport.DestinationOptions = fileOptions;

    MyReport.Export();

Puede encontrar más información sobre ExportOptions class here.

Y here is an example para VS 2005/.Net 2

+0

me da el siguiente error 'CrystalDecisions.CrystalReports.Engine.ReportDocument' no contiene una definición para 'DestinationOptions' y ningún método de extensión 'DestinationOptions' que acepte un primer argumento de tipo 'CrystalDecisions.CrystalReports.Engine.ReportDocument' podría encontrar (¿falta una directiva using o una referencia de ensamblado?) –

+0

también si comento esa declaración arroja una excepción: Falló el inicio de sesión. \ nDetalles: crdb_adoplus: Referencia de objeto no establecida en una instancia de un objeto. \ rError in File D: \\ Users \\ myuser \\ AppData \\ Local \\ Temp \\ CrystalReport {199BAD00-9417-4101-BEA3-FF63B72B66B3} .rpt: \ nNo se puede conectar: ​​parámetros de inicio de sesión incorrectos. donde como estoy usando seguridad integrada –

+0

Guess, es porque es un ejemplo escrito en VS2003/.Net 1.1/CR9 hace mucho tiempo. Agregué un enlace para el artículo con un ejemplo para .Net 2. – NetRat

0

Usted puede utilizar el control Crystal Report Viewer que tiene una funcionalidad de exportación construido para Word, Excel, etc ... ODF

Crystal report viewer

2

intente esto:

<asp:ImageButton Width="20px" Height="20px" ID="btnPdf" runat="server" 
    OnClick="btnExport_Click" ImageUrl="~/Images/PDF.png" AlternateText="Export To PDF" CssClass="AddedButton" /> 
    <asp:ImageButton Width="20px" Height="20px" ID="btnXls" runat="server" 
    OnClick="btnExport_Click" ImageUrl="~/Images/XLS.png" AlternateText="Export To Excel" /> 
    <asp:ImageButton Width="20px" Height="20px" ID="btnDoc" runat="server" 
    OnClick="btnExport_Click" ImageUrl="~/Images/DOC.png" AlternateText="Export To Word" /> 

código C#:

protected void btnExport_Click(object sender, EventArgs e) 
{ 
    // Stop buffering the response 
    Response.Buffer = false; 
    // Clear the response content and headers 
    Response.ClearContent(); 
    Response.ClearHeaders(); 
    try 
    { 
     string senderID = ((ImageButton)sender).ID; 
     if (senderID == "btnPdf") 
      reportDocument.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, Page.Title); 
     else if (senderID == "btnXls") 
      reportDocument.ExportToHttpResponse(ExportFormatType.ExcelRecord, Response, true, Page.Title); 
     else if (senderID == "btnDoc") 
      reportDocument.ExportToHttpResponse(ExportFormatType.WordForWindows, Response, true, Page.Title); 
     // There are other format options available such as Word, Excel, CVS, and HTML in the ExportFormatType Enum given by crystal reports 
    } 
    catch (Exception ex) 
    { 
     //error management 

    } 
} 
Cuestiones relacionadas