Skip to main content

asp.net mvc generate rdlc/Excel to pdf report

You can follow the code:


  public ActionResult GenerateReport(CustomerPackageReportViewModel CustomerPackageReportViewModel)  
     {  
       List<CustomerPackageDetailsReportViewModel> _customerList = (List<CustomerPackageDetailsReportViewModel>)Session["CustomerPackageInfo"];  
       DataTable tableObj = new DataTable();  
       if (_customerList!=null)  
       {  
         tableObj = Converter.ToDataTable(_customerList);  
       }  
       else  
       {  
         tableObj = Converter.ToDataTable(ArchitectureList);  
       }  
       ReportDataSource rds = new ReportDataSource("dsCustomerPackageInfo", tableObj);  
       ReportViewer localReport = new ReportViewer();  
       localReport.ProcessingMode = ProcessingMode.Local;  
       localReport.LocalReport.ReportPath = Server.MapPath("~/Reports/Billing/rdlc/rptCustomerPackageInfo.rdlc");  
       localReport.LocalReport.DataSources.Add(rds); // Add datasource here  
       string reportType = "PDF";  // You can change type
       string mimeType;  
       string encoding;  
       string fileNameExtension;  
       //The DeviceInfo settings should be changed based on the reportType  
       //http://msdn2.microsoft.com/en-us/library/ms155397.aspx  
       string deviceInfo =  
       "<DeviceInfo>" +  
       " <OutputFormat>PDF</OutputFormat>" +  
       " <PageWidth>8.5in</PageWidth>" +  
       " <PageHeight>11in</PageHeight>" +  
       " <MarginTop>0.5in</MarginTop>" +  
       " <MarginLeft>1in</MarginLeft>" +  
       " <MarginRight>1in</MarginRight>" +  
       " <MarginBottom>0.5in</MarginBottom>" +  
       "</DeviceInfo>";  
       Warning[] warnings;  
       string[] streams;  
       byte[] renderedBytes;  
       renderedBytes = localReport.LocalReport.Render(  
         reportType,  
         null,  
         out mimeType,  
         out encoding,  
         out fileNameExtension,  
         out streams,  
         out warnings);  
       Response.Clear();  
       Response.ContentType = mimeType;  
       Response.AddHeader("content-disposition", "attachment; filename=CustomerPackageInformation." + fileNameExtension);  
       Response.BinaryWrite(renderedBytes);  
       Response.End();  
       Response.Flush();  
       return View(CustomerPackageReportViewModel);  
     }  


Comments

Popular posts from this blog

C# run powershell script as administrator

Recently I was fetching a problem that I need to run a PowerShell script that will change TFS user Display name and SID. I was trying to run that script from C# that was not working due to TFS security update and TLS certificate. Using this code block I resolve the Issue. var newProcessInfo = new System.Diagnostics.ProcessStartInfo(); newProcessInfo.FileName = @"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"; newProcessInfo.Verb = "runas"; // Define Run as administrator newProcessInfo.Arguments = script; //Define your powershell script newProcessInfo.UseShellExecute = false; newProcessInfo.RedirectStandardOutput = true; // This will enable to read Powershell run output newProcessInfo.RedirectStandardError = true; Process proces = System.Diagnostics.Process.Start(newProcessInfo); proces.WaitForExit(); // I want to read the output string from powershell window StringBuilder output = new StringBuilder(); output.Append("Started"); while (!proces.St

ASP.NET MVC razor SAP Crystal report

Crete a new project: Add a aspx Master Page Create a new folder Reports and 2 sub folder crystal & crystalviewer Now add a web form page in crystalviewer  folder. Add the master page namespace in your web form page. MasterPageFile ="~/Views/Shared/ReportSite.Master" Replace your web form by this code < asp : Content ID ="Content1" ContentPlaceHolderID ="ContentPlaceHolder1" runat ="server">      </ asp : Content > Now go to design mode of your web form drag & drop the crystal report viewer in your web form. After that your page will be look look like this. Replace the code: < CR : CrystalReportViewer ID ="EmployeeList" runat ="server"   HasCrystalLogo ="False"     AutoDataBind ="True"   Height ="50px"   EnableParameterPrompt ="false" EnableDatabaseLogonPrompt

mvc razor textboxfor change event change another textboxfor value

Based on value of Weight, Rate , CNF & AWB it will change the value of Freight , TTLCNF anfd TTLFright . Freight= Weight*Rate; TTLCNF  = Weight*CNF; TTLFright=  Freight+ TTLCNF  + AWB; @Html.TextBoxFor(model => model.Weight, new { onChange="return GetWight(this);"}) @Html.TextBoxFor(model => model.Rate, new { onChange="return GetWight(this);"})/Kg @Html.TextBoxFor(model => model.Freight, new {disabled = "disabled" , @readonly = "readonly" ,onChange="return GetTTLFright(this);"}) @Html.TextBoxFor(model => model.CNFPK, new { onChange="return GetCNFPK(this);"}) @Html.TextBoxFor(model => model.TTLCNF, new {disabled = "disabled" , @readonly = "readonly",onChange="return GetTTLFright(this);" }) @Html.TextBoxFor(model => model.AWB, new { onChange="return GetTTLFright(this);"}) and script <script> function GetW