Link to home
Start Free TrialLog in
Avatar of vonbalaji
vonbalaji

asked on

Exporting the Crystal Report XI R2 using C#

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

ASKER CERTIFIED SOLUTION
Avatar of Mike McCracken
Mike McCracken

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial