public void ExportDriverReportToExcel(ReportViewDto report, HttpResponseBase response) { string[] header; GridView GridView1 = new GridView(); GridView1.DataSource = report.DriverReportList; GridView1.DataBind(); ExcelPackage excel = new ExcelPackage(); var workSheet = excel.Workbook.Worksheets.Add("TranscendDriveReport"); System.Drawing.Image logo = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath("~/Content/Images/4.png")); System.Drawing.Image rhDriver = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath("~/Content/Images/3.png")); var p1 = workSheet.Drawings.AddPicture("Logo", logo); p1.SetPosition(0, 0, 0, 0); p1.SetSize(100); header = new string[] { "Voucher Number", "Created By", "Updated By", "Created Date", "Updated Date", "Employee Number", "Driver Name", "Vehicle Number", "Trip Name", "Hotel", "Batta", "Amount" }; var reportPic = workSheet.Drawings.AddPicture("Name", rhDriver); reportPic.SetPosition(0, 0, 4, 0); reportPic.SetSize(15); workSheet.Cells[6, 1].Value = "Generated From :" + report.ReportDto.StartDate + " To :" + report.ReportDto.EndDate; workSheet.Cells[7, 1].Value = "Created By :" + System.Web.HttpContext.Current.User.Identity.Name; workSheet.Cells[8, 1].Value = " Generated Date :" + report.CurrentDate.ToString("yyyy/MM/dd"); workSheet.Cells[9, 1].Value = " Generated Time :" + report.CurrentDate.ToString("h:mm tt"); if (report.DriverReportList.Count() != 0) { var totalCols = GridView1.Rows[0].Cells.Count; var totalRows = GridView1.Rows.Count; var headerRow = GridView1.HeaderRow; for (var i = 1; i <= header.Count(); i++) { workSheet.Cells[12, i].Value = header[i - 1]; workSheet.Cells[12, i].Style.Font.Bold = true; } int x = 12; for (var j = 1; j <= totalRows; j++) { for (var i = 1; i <= totalCols; i++) { var product = report.DriverReportList.ElementAt(j - 1); workSheet.Cells[x + 1, i].Value = product.GetType().GetProperty(headerRow.Cells[i - 1].Text).GetValue(product, null); workSheet.Cells[x + 1, i].AutoFitColumns(); } x++; } workSheet.Column(4).Style.Numberformat.Format = "yyyy-MM-dd HH:mm"; workSheet.Column(5).Style.Numberformat.Format = "yyyy-MM-dd HH:mm"; workSheet.Cells[(x + 3), 1].Value = "Total Amount : " + report.DriverReportList.Sum(a => a.BataAmount); } else { } using (var memoryStream = new MemoryStream()) { response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; response.AddHeader("content-disposition", "attachment; filename=TranscendDrive_Driver_Report_" + CustomDataHelper.CurrentDateTimeSL.GetCurrentDate() + ".xlsx"); excel.SaveAs(memoryStream); memoryStream.WriteTo(response.OutputStream); response.Flush(); response.End(); } }
public void ExportToExcelVehicleReport() { ReportViewDto report = Mapper.Map <ReportViewDto>(TempData["VehicleReportTemp"]); exportService.ExportVehicleReportToExcel(report, Response); }