// used to generate the html table for orderline info excel file download public StringBuilder GenerateOrderlineInfoHtmlTable(IEnumerable <OrderLineViewModel> orderlines, OrderViewModel orderInfo) { StringBuilder sb = null; try { sb = new StringBuilder(); sb.Append("<table border=`" + "1px" + "`b>"); sb.Append("<tr>Order ID - " + orderInfo.id + "</tr>"); sb.Append("<tr>Order Status - " + orderInfo.status + "</tr>"); sb.Append("<tr>Customer - " + orderInfo.company + "</tr>"); sb.Append("<tr>Contact - " + orderInfo.contactFulName + "</tr>"); sb.Append("<tr>Order Date - " + orderInfo.orderCreationDate + "</tr>"); sb.Append("<tr>Order Total - " + CommonBehaviour.GetCurrencySymbol(orderInfo.currency) + " " + orderInfo.total + "</tr>"); sb.Append("<td><b><font face=Arial Narrow size=3>Condition</font></b></td>"); sb.Append("<td><b><font face=Arial Narrow size=3>Brand</font></b></td>"); sb.Append("<td><b><font face=Arial Narrow size=3>Model</font></b></td>"); sb.Append("<td><b><font face=Arial Narrow size=3>Quantity</font></b></td>"); sb.Append("<td><b><font face=Arial Narrow size=3>PPI</font></b></td>"); sb.Append("<td><b><font face=Arial Narrow size=3>Total(" + CommonBehaviour.GetCurrencySymbol(orderInfo.currency) + ")</font></b></td>"); sb.Append("<td><b><font face=Arial Narrow size=3>Status</font></b></td>"); sb.Append("</tr>"); foreach (OrderLineViewModel orderline in orderlines) { sb.Append("<tr>"); sb.Append("<td><font face=Arial Narrow size=" + "14px" + ">" + orderline.condition.ToString() + "</font></td>"); sb.Append("<td><font face=Arial Narrow size=" + "14px" + ">" + orderline.brand.ToString() + "</font></td>"); sb.Append("<td><font face=Arial Narrow size=" + "14px" + ">" + orderline.model.ToString() + "</font></td>"); sb.Append("<td><font face=Arial Narrow size=" + "14px" + ">" + orderline.quantity.ToString() + "</font></td>"); sb.Append("<td><font face=Arial Narrow size=" + "14px" + ">" + orderline.negotiatedPricePerItem.ToString() + "</font></td>"); sb.Append("<td><font face=Arial Narrow size=" + "14px" + ">" + orderline.totalAmount.ToString() + "</font></td>"); sb.Append("<td><font face=Arial Narrow size=" + "14px" + ">" + orderline.status.ToString() + "</font></td>"); sb.Append("</tr>"); } sb.Append("</table>"); return(sb); } catch (Exception ex) { throw ex; } }
// used to generate the excel file for orderline info excel file download public string GenerateOrderlineInfoExcelReport(IEnumerable <OrderLineViewModel> orderlines, OrderViewModel orderInfo) { try { // Set the file name and get the output directory string fileName = "OrderInfo-" + orderInfo.id + "-" + DateTime.Now.ToString("yyyy-MM-dd--hh-mm-ss") + ".xlsx"; var outputDir = HttpContext.Current.Server.MapPath("~/App_Data/Excel"); // Create the file using the FileInfo object FileInfo file = new FileInfo(outputDir + fileName); // Create the package and make sure you wrap it in a using statement using (var package = new ExcelPackage(file)) { // add a new worksheet to the empty workbook ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(fileName); int rowNumber = 1; worksheet.Cells[rowNumber, 1].Value = "Order ID "; worksheet.Cells[rowNumber, 2].Value = orderInfo.id; worksheet.Cells[++rowNumber, 1].Value = "Order Status "; worksheet.Cells[rowNumber, 2].Value = orderInfo.status; worksheet.Cells[++rowNumber, 1].Value = "Company "; worksheet.Cells[rowNumber, 2].Value = orderInfo.company; worksheet.Cells[++rowNumber, 1].Value = "Contact "; worksheet.Cells[rowNumber, 2].Value = orderInfo.contactFulName; worksheet.Cells[++rowNumber, 1].Value = "Order date "; worksheet.Cells[rowNumber, 2].Value = orderInfo.orderCreationDate; worksheet.Cells[++rowNumber, 1].Value = "Currency "; worksheet.Cells[rowNumber, 2].Value = orderInfo.currency; worksheet.Cells[++rowNumber, 1].Value = "Order total "; worksheet.Cells[rowNumber, 2].Value = CommonBehaviour.GetCurrencySymbol(orderInfo.currency) + " " + orderInfo.total; // header rowNumber = rowNumber + 2; worksheet.Cells[rowNumber, 1, rowNumber, 6].Style.Font.Bold = true; worksheet.Cells[rowNumber, 1, rowNumber, 6].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheet.Cells[rowNumber, 1, rowNumber, 6].Style.Fill.BackgroundColor.SetColor(Color.LightBlue); worksheet.Cells[rowNumber, 1].Value = "Condition"; worksheet.Cells[rowNumber, 2].Value = "Brand"; worksheet.Cells[rowNumber, 3].Value = "Model"; worksheet.Cells[rowNumber, 4].Value = "Quantity"; worksheet.Cells[rowNumber, 5].Value = "PPI"; worksheet.Cells[rowNumber, 5].Value = "Total(" + CommonBehaviour.GetCurrencySymbol(orderInfo.currency) + ")"; worksheet.Cells[rowNumber, 6].Value = "Status"; foreach (OrderLineViewModel orderline in orderlines) { ++rowNumber; worksheet.Cells[rowNumber, 1].Value = orderline.condition; worksheet.Cells[rowNumber, 2].Value = orderline.brand; worksheet.Cells[rowNumber, 3].Value = orderline.model; worksheet.Cells[rowNumber, 4].Value = orderline.quantity; worksheet.Cells[rowNumber, 5].Value = orderline.negotiatedPricePerItem; worksheet.Cells[rowNumber, 5].Value = orderline.totalAmount; worksheet.Cells[rowNumber, 6].Value = orderline.status; } worksheet.Column(1).AutoFit(); worksheet.Column(2).AutoFit(); worksheet.Column(3).AutoFit(); worksheet.Column(4).AutoFit(); worksheet.Column(5).AutoFit(); worksheet.Column(6).AutoFit(); package.Save(); } return(file.FullName); } catch (Exception ex) { throw ex; } }