Skip to Content
0
Former Member
Jul 11, 2015 at 06:33 PM

Generate crystal report in excel format directly in C#

106 Views

My crystal report has more than 90 columns, so while on generating the crystal report some columns are only visible. so my client ask me to, generate the crystal report in excel format directly, that is while on pressing the generate button, the report should download in excel format directly, that is without exporting the file to an path. so can you please provide the C# asp.net code for that and explain how to achieve that. Thanks in advance.


C# code :


<%@ Page Language="C#" enableViewState="true" Inherits="VWReports.AVWReport" %>

<%@ Import Namespace="System" %>

<%@ Import Namespace="System.Web" %>

<%@ Import Namespace="VWReports" %>

<script language=cs runat=server>

string strSessionVariable = "";

public void Page_Init()

{

IVWReport Report = null;

VWSegment NewSeg = null;

try

{

if (!IsPostBack)

{

strSessionVariable = "objReport_" + Guid.NewGuid().ToString();

ReportMetaData ReportData = new ReportMetaData("empinduction_report", "empinduction_report.rpt");

ReportData.ReportSessionId = strSessionVariable;

ReportData.ExcludeUserPreference = true;

NewSeg = new VWSegment("erpempl_empl_r_rep_hr_hsg", SegmentType.Single);

NewSeg.AddDataItem("hractualdojfrom1", VWDataType.Date, 11);

NewSeg.AddDataItem("hractualdojto1", VWDataType.Date, 11);

NewSeg.AddDataItem("hradjdatefrom1", VWDataType.Date, 11);

NewSeg.AddDataItem("hradjdateto1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrbuid", VWDataType.Character, 20);

NewSeg.AddDataItem("hrbusinessunitdesc2", VWDataType.Character, 60);

NewSeg.AddDataItem("hrclaimdatefrom1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrclaimdateto1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdeptcdx1", VWDataType.Character, 10);

NewSeg.AddDataItem("hrdobfm1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdobto1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdopftrust1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdopm1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrempcdfrom1", VWDataType.Character, 20);

NewSeg.AddDataItem("hrempcodeto2", VWDataType.Character, 20);

NewSeg.AddDataItem("hremployeestatus2", VWDataType.Character, 40);

NewSeg.AddDataItem("hremployeestatuscd", VWDataType.Character, 5);

NewSeg.AddDataItem("hremptype2", VWDataType.Character, 40);

NewSeg.AddDataItem("hremptype2cd", VWDataType.Character, 40);

NewSeg.AddDataItem("hrgradesetshdescx1", VWDataType.Character, 30);

NewSeg.AddDataItem("hrjobcd142", VWDataType.Character, 10);

NewSeg.AddDataItem("hrlocalityname2", VWDataType.Character, 80);

NewSeg.AddDataItem("hrlocalitynamecd", VWDataType.Character, 80);

NewSeg.AddDataItem("hrposidx2", VWDataType.Character, 10);

NewSeg.AddDataItem("hrqualifications4001", VWDataType.Character, 400);

NewSeg.AddDataItem("hrrepdate2", VWDataType.Date, 11);

ReportData.MapSegment(NewSeg);

NewSeg = new VWSegment("erpemplempl_rgrd1_repgrmsg", SegmentType.Multiple);

NewSeg.AddDataItem("hr11mscs1", VWDataType.Character, 40);

NewSeg.AddDataItem("hr12mscs1", VWDataType.Character, 40);

NewSeg.AddDataItem("hr13mscs1", VWDataType.Character, 40);

NewSeg.AddDataItem("hr14mscs1", VWDataType.Character, 40);

NewSeg.AddDataItem("hr15mscs1", VWDataType.Character, 40);

NewSeg.AddDataItem("hractualamt11", VWDataType.Double, 15);

NewSeg.AddDataItem("hractualamt21", VWDataType.Double, 15);

NewSeg.AddDataItem("hrageyrsfrom1", VWDataType.Integer, 4);

NewSeg.AddDataItem("hrallowance11", VWDataType.Double, 15);

NewSeg.AddDataItem("hrallowance2", VWDataType.Double, 15);

NewSeg.AddDataItem("hramtdeclared11", VWDataType.Double, 15);

NewSeg.AddDataItem("hramtdeclared21", VWDataType.Double, 15);

NewSeg.AddDataItem("hramtdeclared31", VWDataType.Double, 15);

NewSeg.AddDataItem("hramtdeclared41", VWDataType.Double, 15);

NewSeg.AddDataItem("hramtdeclared51", VWDataType.Double, 15);

NewSeg.AddDataItem("hramtdeclared61", VWDataType.Double, 15);

NewSeg.AddDataItem("hramtdeclared71", VWDataType.Double, 15);

NewSeg.AddDataItem("hrassgnefffrom1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrauthleaveunits1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrbasicpay1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrbntotalcr1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrclhra1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrcommentstext111", VWDataType.Character, 255);

NewSeg.AddDataItem("hrcommentstext121", VWDataType.Character, 255);

NewSeg.AddDataItem("hrcommentstext131", VWDataType.Character, 255);

NewSeg.AddDataItem("hrcommentstext141", VWDataType.Character, 255);

NewSeg.AddDataItem("hrcommentstext151", VWDataType.Character, 255);

NewSeg.AddDataItem("hrcommentstext161", VWDataType.Character, 255);

NewSeg.AddDataItem("hrcommentstext171", VWDataType.Character, 255);

NewSeg.AddDataItem("hrcommentstext181", VWDataType.Character, 255);

NewSeg.AddDataItem("hrcommentstext191", VWDataType.Character, 255);

NewSeg.AddDataItem("hrcommentstext211", VWDataType.Character, 255);

NewSeg.AddDataItem("hrcompanycd1", VWDataType.Character, 4);

NewSeg.AddDataItem("hrcompdesc", VWDataType.Character, 50);

NewSeg.AddDataItem("hrcompyear1", VWDataType.Integer, 4);

NewSeg.AddDataItem("hrconvamtpaid1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrctctotal1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrcurrexp2", VWDataType.Character, 255);

NewSeg.AddDataItem("hrdepartment2", VWDataType.Character, 25);

NewSeg.AddDataItem("hrdepartmentdesc2", VWDataType.Character, 80);

NewSeg.AddDataItem("hrdeptqual1date1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdeptqual2date1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdeptqual3date1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdeptqual4date1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdeptqual5date1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdob3", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdoj4", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdolprevorg11", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdop1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrdort1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrefbook1", VWDataType.Character, 80);

NewSeg.AddDataItem("hremail3", VWDataType.Character, 50);

NewSeg.AddDataItem("hrempcode", VWDataType.Character, 20);

NewSeg.AddDataItem("hremplname1", VWDataType.Character, 77);

NewSeg.AddDataItem("hremptype11", VWDataType.Character, 40);

NewSeg.AddDataItem("hresi2", VWDataType.Character, 40);

NewSeg.AddDataItem("hrexgratpay1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrexperience1", VWDataType.Character, 255);

NewSeg.AddDataItem("hrfathername1", VWDataType.Character, 77);

NewSeg.AddDataItem("hrfileid1", VWDataType.Character, 20);

NewSeg.AddDataItem("hrgenderqcdm", VWDataType.Character, 40);

NewSeg.AddDataItem("hrgrade3", VWDataType.Character, 25);

NewSeg.AddDataItem("hrgradedescl2", VWDataType.Character, 80);

NewSeg.AddDataItem("hrgradesetcdx1", VWDataType.Character, 10);

NewSeg.AddDataItem("hrgradesetdescl2", VWDataType.Character, 80);

NewSeg.AddDataItem("hrhodcd1", VWDataType.Character, 20);

NewSeg.AddDataItem("hrinstitutionm1", VWDataType.Character, 40);

NewSeg.AddDataItem("hrintc111", VWDataType.Integer, 5);

NewSeg.AddDataItem("hrintc121", VWDataType.Integer, 5);

NewSeg.AddDataItem("hrintc131", VWDataType.Integer, 5);

NewSeg.AddDataItem("hrintc141", VWDataType.Integer, 5);

NewSeg.AddDataItem("hrjob1", VWDataType.Character, 40);

NewSeg.AddDataItem("hrjobcd6", VWDataType.Character, 10);

NewSeg.AddDataItem("hrleaveunits1", VWDataType.Double, 8);

NewSeg.AddDataItem("hrlleavebalanceunits11", VWDataType.Double, 8);

NewSeg.AddDataItem("hrlocaldetails1", VWDataType.Character, 40);

NewSeg.AddDataItem("hrlreqleaveunits3", VWDataType.Double, 8);

NewSeg.AddDataItem("hrmaritalstatus1", VWDataType.Character, 40);

NewSeg.AddDataItem("hrmedamtpaid1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrmedical1", VWDataType.Character, 50);

NewSeg.AddDataItem("hrmgrcdmltmscs1", VWDataType.Character, 20);

NewSeg.AddDataItem("hrmlamount1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrmonthsyears1", VWDataType.Character, 40);

NewSeg.AddDataItem("hrotherfee11", VWDataType.Double, 15);

NewSeg.AddDataItem("hrotherfee21", VWDataType.Double, 15);

NewSeg.AddDataItem("hrpan3", VWDataType.Character, 20);

NewSeg.AddDataItem("hrperkamt1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrperpay1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrpfappno2", VWDataType.Character, 20);

NewSeg.AddDataItem("hrpfindivfund1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrposition4", VWDataType.Character, 25);

NewSeg.AddDataItem("hrpositionlgdesc2", VWDataType.Character, 80);

NewSeg.AddDataItem("hrprevexp2", VWDataType.Character, 255);

NewSeg.AddDataItem("hrprobtype1", VWDataType.Character, 40);

NewSeg.AddDataItem("hrqualification2", VWDataType.Character, 25);

NewSeg.AddDataItem("hrr1date1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrr2date1", VWDataType.Date, 11);

NewSeg.AddDataItem("hrreason11", VWDataType.Character, 255);

NewSeg.AddDataItem("hrrefundeeamt11", VWDataType.Double, 15);

NewSeg.AddDataItem("hrrefundeeamt21", VWDataType.Double, 15);

NewSeg.AddDataItem("hrrefundeeamt31", VWDataType.Double, 15);

NewSeg.AddDataItem("hrretirementage1", VWDataType.Integer, 5);

NewSeg.AddDataItem("hrrptempstatml", VWDataType.Character, 40);

NewSeg.AddDataItem("hrsafcon1", VWDataType.Character, 40);

NewSeg.AddDataItem("hrseparationreason1", VWDataType.Character, 40);

NewSeg.AddDataItem("hrsepreasons11", VWDataType.Character, 40);

NewSeg.AddDataItem("hrsickdayleave1", VWDataType.Double, 5);

NewSeg.AddDataItem("hrsrlno1", VWDataType.Integer, 10);

NewSeg.AddDataItem("hrtotalamt3", VWDataType.Double, 15);

NewSeg.AddDataItem("hruser4", VWDataType.Character, 25);

NewSeg.AddDataItem("hrw2amount12a1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrw2amount12b1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrw2amount12c1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrw2amount12d1", VWDataType.Double, 15);

NewSeg.AddDataItem("hrw2amount14a1", VWDataType.Double, 15);

ReportData.MapSegment(NewSeg);

Report = VWReports.Utilities.CreateReport();

Report.Configure(ReportData);

Session[strSessionVariable] = Report;

}

}

catch (Exception e)

{

Response.Write (e.Message);

}

}

public void Page_Load()

{

if (!IsPostBack)

{

hdnSessionVariableName.Value = strSessionVariable;

}

IVWReport Report = (IVWReport)Session[hdnSessionVariableName.Value];

try

{

if (Report != null)

Report.RenderReport(this);

}

catch (Exception e)

{

Response.Write (e.Message);

}

}

</script>

<html>

<title>Report</title>

<body style="margin:0px;" oncontextmenu="return false;" scroll="no" >

<form id="reportform" method="post" runat="server">

<input id="hdnSessionVariableName" type="hidden" name="hdnSessionVariableName" runat="server">

</form>

</body>

</html>