Exemplo n.º 1
0
 protected void btnClose_Click(object sender, EventArgs e)
 {
     boReportClientDocument.Close();
     boEnterpriseSession.Logoff();
     Response.Redirect("Default.aspx");
 }
Exemplo n.º 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        CrystalDecisions.Enterprise.SessionMgr        boSessionMgr;
        CrystalDecisions.Enterprise.InfoStore         boInfoStore;
        CrystalDecisions.Enterprise.EnterpriseService boEnterpriseService;
        CrystalDecisions.Enterprise.InfoObjects       boInfoObjects;
        string boReportName;
        string boQuery;

        CrystalDecisions.ReportAppServer.ClientDoc.ReportAppFactory boReportAppFactory;

        //Log on to the Enterprise CMS
        boSessionMgr        = new CrystalDecisions.Enterprise.SessionMgr();
        boEnterpriseSession = boSessionMgr.Logon(Request.QueryString["username"], Request.QueryString["password"], Request.QueryString["cms"], Request.QueryString["authtype"]);
        Session.Add("boEnterpriseSession", boEnterpriseSession);
        boEnterpriseService = boEnterpriseSession.GetService("", "InfoStore");
        boInfoStore         = new CrystalDecisions.Enterprise.InfoStore(boEnterpriseService);

        boReportName = "World Sales Report";

        //Retrieve the report object from the InfoStore, only need the SI_ID for RAS
        boQuery = "Select SI_ID From CI_INFOOBJECTS Where SI_NAME = '" + boReportName +
                  "' AND SI_Instance=0";
        boInfoObjects = boInfoStore.Query(boQuery);
        boInfoObject  = boInfoObjects[1];

        boEnterpriseService = null;

        //Retrieve the RASReportFactory
        boEnterpriseService = boEnterpriseSession.GetService("RASReportFactory");
        boReportAppFactory  = (CrystalDecisions.ReportAppServer.ClientDoc.ReportAppFactory)boEnterpriseService.Interface;
        //Open the report from Enterprise
        boReportClientDocument = boReportAppFactory.OpenDocument(boInfoObject.ID, 0);

        /**
         * This exports the report to a byte() that we will stream out using the default options for the enum
         * The available enums are:
         * CrReportExportFormatEnum.crReportExportFormatCharacterSeparatedValues
         * CrReportExportFormatEnum.crReportExportFormatCrystalReports
         * CrReportExportFormatEnum.crReportExportFormatEditableRTF
         * CrReportExportFormatEnum.crReportExportFormatHTML
         * CrReportExportFormatEnum.crReportExportFormatMSExcel
         * CrReportExportFormatEnum.crReportExportFormatMSWord
         * CrReportExportFormatEnum.crReportExportFormatPDF
         * CrReportExportFormatEnum.crReportExportFormatRecordToMSExcel
         * CrReportExportFormatEnum.crReportExportFormatRTF
         * CrReportExportFormatEnum.crReportExportFormatTabSeparatedText
         * CrReportExportFormatEnum.crReportExportFormatText
         * CrReportExportFormatEnum.crReportExportFormatXML
         */
        Byte[] oByte = (Byte[])boReportClientDocument.PrintOutputController.Export(CrReportExportFormatEnum.crReportExportFormatPDF, 1).ByteArray;

        Response.ClearContent();
        Response.ClearHeaders();
        Response.ContentType = "application/pdf";
        Response.AddHeader("Content-disposition", "filename=MyReport.pdf");
        Response.BinaryWrite(oByte);
        Response.End();

        boReportClientDocument.Close();
        boEnterpriseSession.Logoff();
    }
Exemplo n.º 3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        CrystalDecisions.Enterprise.SessionMgr        boSessionMgr;
        CrystalDecisions.Enterprise.InfoStore         boInfoStore;
        CrystalDecisions.Enterprise.EnterpriseService boEnterpriseService;
        CrystalDecisions.Enterprise.InfoObjects       boInfoObjects;
        string boReportName;
        string boQuery;

        CrystalDecisions.ReportAppServer.ClientDoc.ReportAppFactory boReportAppFactory;

        //Log on to the Enterprise CMS
        boSessionMgr        = new CrystalDecisions.Enterprise.SessionMgr();
        boEnterpriseSession = boSessionMgr.Logon(Request.QueryString["username"], Request.QueryString["password"], Request.QueryString["cms"], Request.QueryString["authtype"]);
        Session.Add("boEnterpriseSession", boEnterpriseSession);
        boEnterpriseService = boEnterpriseSession.GetService("", "InfoStore");
        boInfoStore         = new CrystalDecisions.Enterprise.InfoStore(boEnterpriseService);

        boReportName = "World Sales Report";

        //Retrieve the report object from the InfoStore, only need the SI_ID for RAS
        boQuery = "Select SI_ID From CI_INFOOBJECTS Where SI_NAME = '" + boReportName +
                  "' AND SI_Instance=0";
        boInfoObjects = boInfoStore.Query(boQuery);
        boInfoObject  = boInfoObjects[1];

        boEnterpriseService = null;

        //Retrieve the RASReportFactory
        boEnterpriseService = boEnterpriseSession.GetService("RASReportFactory");
        boReportAppFactory  = (CrystalDecisions.ReportAppServer.ClientDoc.ReportAppFactory)boEnterpriseService.Interface;
        //Open the report from Enterprise
        boReportClientDocument = boReportAppFactory.OpenDocument(boInfoObject.ID, 0);

        ExportOptions exportOptions = new ExportOptions();

        //This sets which format we will export to.
        exportOptions.ExportFormatType = CrReportExportFormatEnum.crReportExportFormatMSExcel;
        //Create the FormatOptions class for PDF.
        ExcelExportFormatOptions ExcelexportOptions = new ExcelExportFormatOptions();

        ExcelexportOptions.BaseAreaGroupNumber            = 1;
        ExcelexportOptions.BaseAreaType                   = CrAreaSectionKindEnum.crAreaSectionKindReportHeader;
        ExcelexportOptions.ConstantColWidth               = 20;
        ExcelexportOptions.ConvertDatesToStrings          = true;
        ExcelexportOptions.StartPageNumber                = 1;
        ExcelexportOptions.EndPageNumber                  = 5;
        ExcelexportOptions.ExcelTabHasColumnHeadings      = true;
        ExcelexportOptions.ExportPageAreaPairType         = CrExportPageAreaKindEnum.crExportPageAreaKindForEachPage;
        ExcelexportOptions.ExportPageBreaks               = true;
        ExcelexportOptions.MaintainRelativeObjectPosition = true;
        ExcelexportOptions.ShowGridlines                  = false;
        ExcelexportOptions.UseConstantColWidth            = true;

        //Set the export format options with the page range we just set.
        exportOptions.FormatOptions = ExcelexportOptions;

        //This exports the report to a byte() that we will stream out.
        Byte[] oByte = (Byte[])boReportClientDocument.PrintOutputController.ExportEx(exportOptions).ByteArray;

        Response.ClearContent();
        Response.ClearHeaders();
        Response.ContentType = "application/vnd.ms-excel";
        Response.AddHeader("Content-disposition", "filename=MyReport.xls");
        Response.BinaryWrite(oByte);
        Response.End();

        boReportClientDocument.Close();
        boEnterpriseSession.Logoff();
    }