Solved

Exporting the Crystal Report XI R2 using C#

Posted on 2009-05-07
2
559 Views
Last Modified: 2013-12-17
Hi,

I am creating a new program to generate and export the Crystal report as xls using C#. I have created a rpt file using CR binding to xsd.  The requirement is the rpt and the xsd should not be included in the solution. During the runtime, I am loading the rpt file and assigning hte dataset. But I am getting the error Logon Failed during the time of export
The Error is in the line ExportReport.Export.ObjRpt.Export

Please advise
public void Load()

        {

            string ConnectionDetails = GetConfigSetting("Connection");

             ReportDocument _CrystalReport;

            _CrystalReport = new ReportDocument();
 

            _CrystalReport.Load(@"C:\\Report1.rpt");
 

            SqlConnection Connection = new SqlConnection(ConnectionDetails);

            SqlCommand Command = new SqlCommand("GetDATA", Connection);

            Command.CommandType = CommandType.StoredProcedure;
 

	    SqlDataAdapter dsDA = new SqlDataAdapter(Command);

            DataSet dsReport = new DataSet();

            

            try

            {

                dsDA.Fill(dsReport);

                _CrystalReport.SetDataSource(dsReport);

                

            }

            catch (Exception Ex)

            {

                Console.WriteLine("Exception ocurred in LoadData \n {0}", Ex.Message.ToString());

            }
 

       

                    try

            {

            ExportReport rptExp = new ExportReport("xls", "C:", "test");
 

            rptExp.Report = _CrystalReport;
 

            string _exportedFile = rptExp.Export();

            Console.WriteLine("File [{0}] successfully exported", _exportedFile);

        }

        catch (Exception Ex)

        {
 

            Console.WriteLine("Exception ocurred in LoadData \n {0}", Ex.Message.ToString());
 

        }
 

	ExportReport.cs

	---------------
 

	 private void ConfigureExportToXls()

        {

            objExportOpt.ExportFormatType = ExportFormatType.Excel;
 

            ExcelFormatOptions objExcelOptions = new ExcelFormatOptions();

            objExcelOptions.ExcelTabHasColumnHeadings = true;

            objExcelOptions.ShowGridLines = true;

            objExcelOptions.ExcelUseConstantColumnWidth = false;

            objExportOpt.ExportFormatOptions = objExcelOptions;

            objdiskDest.DiskFileName = exportPath +  expfileName + ".xls"; ;

            objExportOpt.DestinationOptions = objdiskDest;

        }

	 public string Export()

        {

            //try

            {

                ExportSetup();

                ExportSelection();

                exportedfile = objdiskDest.DiskFileName.ToString();

                objRpt.Export();

                return exportedfile;

            }
 

        }

private void ExportSelection()

        {

            switch (expFormat)

            {

                case "rpt"://  ExportFormatType.CrystalReport

                    ConfigureExportToRpt();

                    break;

                case "rtf"://ExportFormatType.RichText

                    ConfigureExportToRtf();

                    break;

                case "wrd": //ExportFormatType.WordForWindows

                    ConfigureExportToDoc();

                    break;

                case "xls": //ExportFormatType.Excel:

                    ConfigureExportToXls();

                    break;

                case "pdf"://ExportFormatType.PortableDocFormat:

                    ConfigureExportToPdf();

                    break;

                case "html32"://ExportFormatType.HTML32:

                    ConfigureExportToHtml32();

                    break;

                case "html40"://ExportFormatType.HTML40:

                    ConfigureExportToHtml40();

                    break;

            }

        }
 

	  private void ExportSetup()

        {
 

            if (!System.IO.Directory.Exists(exportPath))

            {

                System.IO.Directory.CreateDirectory(exportPath);

            }

            objdiskDest = new DiskFileDestinationOptions();

            objExportOpt = objRpt.ExportOptions;

            objExportOpt.ExportDestinationType = ExportDestinationType.DiskFile;

            objExportOpt.FormatOptions = null;

        }

Open in new window

0
Comment
Question by:vonbalaji
2 Comments
 
LVL 100

Accepted Solution

by:
mlmcc earned 20 total points
Comment Utility
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Summary Displaying images in RichTextBox is a common requirement with limited solutions available. Pasting through clipboard or embedding into RTF content only support static images.  This article describes how to insert Windows control objects int…
More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now