public async Task <IActionResult> ExportByMonth(CountByProductMonthViewModel model) { model.Products = await GetProductCountsByMonthAsync(model.Nam, model.Thang); SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY"); var options = SaveOptions.XlsxDefault; var workbook = new ExcelFile(); var worksheet = workbook.Worksheets.Add("Sheet1"); string fileName = ""; if (model.Thang != 0) { worksheet.Cells[0, 0].Value = "Các sản phẩm đã bán tháng " + model.Thang + ", năm " + model.Nam; fileName = "Thống kê tháng " + model.Thang + ", năm " + model.Nam + ".xlsx"; } else { worksheet.Cells[0, 0].Value = "Các sản phẩm đã bán năm " + model.Nam; fileName = "Thống kê năm " + model.Nam + ".xlsx"; } worksheet.Cells[0, 0].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center; worksheet.Cells.GetSubrangeAbsolute(0, 0, 0, 3).Merged = true; worksheet.Rows[0].Style.Font.Weight = ExcelFont.BoldWeight; worksheet.Rows[1].Style.Font.Weight = ExcelFont.BoldWeight; worksheet.Columns[2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center; worksheet.Columns[1].Style.HorizontalAlignment = HorizontalAlignmentStyle.Right; worksheet.Columns[3].Style.HorizontalAlignment = HorizontalAlignmentStyle.Right; worksheet.Columns[0].SetWidth(500, LengthUnit.Pixel); worksheet.Columns[1].SetWidth(150, LengthUnit.Pixel); worksheet.Columns[2].SetWidth(80, LengthUnit.Pixel); worksheet.Columns[3].SetWidth(150, LengthUnit.Pixel); worksheet.Cells["A2"].Value = "Tên sản phẩm"; worksheet.Cells["B2"].Value = "Giá"; worksheet.Cells["C2"].Value = "Số lượng"; worksheet.Cells["D2"].Value = "Tạm tính"; var l = model.Products.Count; for (int r = 1; r < l; r++) { var product = model.Products[r - 1]; worksheet.Cells[r + 1, 0].Value = product.Ten; worksheet.Cells[r + 1, 1].Value = String.Format("{0:### ### ### ### VND}", product.Gia); worksheet.Cells[r + 1, 2].Value = product.SoLuong; worksheet.Cells[r + 1, 3].Value = String.Format("{0:### ### ### ### VND}", product.LayTamTinh()); } worksheet.Cells[l + 2, 2].Value = "Tổng tiền:"; worksheet.Cells[l + 2, 3].Value = String.Format("{0:### ### ### ### VND}", model.LayTongTien()); return(File(GetBytes(workbook, options), options.ContentType, fileName)); }
public async Task <IActionResult> CountByProductMonth(CountByProductMonthViewModel model) { if (ModelState.IsValid) { model.Products = await GetProductCountsByMonthAsync(model.Nam, model.Thang); ViewBag.Months = new SelectList(model.Months, "ID", "Ten", model.Thang); ViewBag.Years = new SelectList(model.Years, model.Nam); } return(View(model)); }
public async Task <IActionResult> CountByProductMonth() { var nowm = DateTime.Today.Month; var nowy = DateTime.Today.Year; var model = new CountByProductMonthViewModel { Thang = nowm, Nam = nowy, Products = await GetProductCountsByMonthAsync(nowy, nowm) }; ViewBag.Months = new SelectList(model.Months, "ID", "Ten", nowm); ViewBag.Years = new SelectList(model.Years, nowy); return(View(model)); }