public FileResult UserInfo(UserParams userInfo) { ExportExcelModel exportExcelModel = new ExportExcelModel(); exportExcelModel = userInfoBLL.ExportExcel(userInfo); return(File(Server.MapPath(exportExcelModel.filename), "application/ms-excel")); }
//导出Excel public ExportExcelModel ExportExcel(UserParams userInfo) { ExportExcelModel exportExcelModel = new ExportExcelModel(); DataTable dtUerInfo = userInfoDAL.SearchInfo(userInfo); exportExcelModel.filename = OperateExcel.ExportToExcel(dtUerInfo, DateTime.Now.ToString("yyyyMMddHHmmss")); return(exportExcelModel); }
public ActionResult Index(string FileName, IEnumerable table, Dictionary <string, string> columes) { var model = new ExportExcelModel(); var ep = model.GetExcelPackage(); model.SetWorksheets(ep, FileName, table, columes); var stream = new MemoryStream { Position = 0 }; ep.SaveAs(stream); return(File( stream.ToArray(), "application/octet-stream", string.Format("{0}-{1}.xlsx", FileName, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")))); }
public static FileResult exportExcel() { using (var db = new Model1()) { DateTime thang = new DateTime(2020, 05, 01); var rawData = db.ChiSoChots.Where(x => x.thang == thang); List <ExportExcelModel> data = new List <ExportExcelModel>(); foreach (ChiSoChot item in rawData) { int congToID = db.CongToes.Where(x => x.Serial == item.CongToSerial).Select(x => x.ID).FirstOrDefault(); int diemDoID = db.DiemDo_CongTo.Where(x => x.CongToID == congToID).Select(x => x.DiemDoID).FirstOrDefault(); var diemDo = db.DiemDoes.Where(x => x.ID == diemDoID).FirstOrDefault(); KenhCustom giao = new KenhCustom() { bieuTong = item.TongGiao, phanKhang = item.PhanKhangGiao, bieu1 = item.BinhThuongGiao, bieu2 = item.CaoDiemGiao, bieu3 = item.ThapDiemGiao }; KenhCustom nhan = new KenhCustom() { bieuTong = item.TongNhan, phanKhang = item.PhangKhangNhan, bieu1 = item.BinhThuongNhan, bieu2 = item.CaoDiemNhan, bieu3 = item.ThapDiemNhan }; ExportExcelModel result = new ExportExcelModel() { maDiemDo = diemDo.MaDiemDo, type = diemDo.TinhChatDiemDo.TenTinhChat, dienNangGiao = giao, dienNangNhan = nhan }; data.Add(result); } data.OrderBy(x => x.type); return(GenerateExcel(data, "rpt_PhieuTongHop_GNDN_NMD_ChiTiet.xlsx")); } }
public ActionResult ExportToExcel(int Id) { int i = 1; var gv = new GridView(); var employeeData = _EmployeeService.GetEmployeeByOfficeid(Id); List <ExportExcelModel> Record = new List <ExportExcelModel>(); foreach (var item in employeeData) { ExportExcelModel single = new ExportExcelModel() { SNo = i, EmployeeCode = item.EmpCode, EmployeeName = item.EmpName, PercentageAmount = "", Value = Convert.ToDecimal("00.00"), }; i++; Record.Add(single); } gv.DataSource = Record; gv.DataBind(); Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=DemoExcel.xls"); Response.ContentType = "application/ms-excel"; Response.Charset = ""; StringWriter objStringWriter = new StringWriter(); HtmlTextWriter objHtmlTextWriter = new HtmlTextWriter(objStringWriter); gv.RenderControl(objHtmlTextWriter); Response.Output.Write(objStringWriter.ToString()); Response.Flush(); Response.End(); return(RedirectToAction("AllowanceImport")); }
private void bwLoad_DoWork(object sender, DoWorkEventArgs e) { sewingMasterList = SewingMasterController.Select(); outsoleRawMaterial = OutsoleRawMaterialController.Select(); var productNoList = orderList.Select(s => s.ProductNo).Distinct().ToList(); sewingMasterList = sewingMasterList.Where(w => productNoList.Contains(w.ProductNo)).ToList(); outsoleRawMaterial = outsoleRawMaterial.Where(w => productNoList.Contains(w.ProductNo) && w.OutsoleSupplierId == supplier.OutsoleSupplierId).ToList(); def = PrivateDefineController.GetDefine(); var regex = new Regex("[a-z]|[A-Z]"); var sizeNoList = sizeRunList.Select(s => s.SizeNo).Distinct().OrderBy(s => regex.IsMatch(s) ? Double.Parse(regex.Replace(s, "100")) : Double.Parse(s)).ToList(); // Create Column DataTable dt = new DataTable(); Dispatcher.Invoke(new Action(() => { // Column OutsoleCode dt.Columns.Add("ProductNo", typeof(String)); DataGridTemplateColumn colPO = new DataGridTemplateColumn(); colPO.Header = String.Format("ProductNo"); DataTemplate tplPO = new DataTemplate(); FrameworkElementFactory tblPO = new FrameworkElementFactory(typeof(TextBlock)); tplPO.VisualTree = tblPO; tblPO.SetBinding(TextBlock.TextProperty, new Binding(String.Format("ProductNo"))); tblPO.SetValue(TextBlock.FontWeightProperty, FontWeights.SemiBold); tblPO.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblPO.SetValue(TextBlock.PaddingProperty, new Thickness(3, 2, 3, 2)); colPO.CellTemplate = tplPO; colPO.SortMemberPath = "ProductNo"; colPO.ClipboardContentBinding = new Binding(String.Format("ProductNo")); dgWHDeliveryDetail.Columns.Add(colPO); // Column ArticleNo dt.Columns.Add("ArticleNo", typeof(String)); DataGridTemplateColumn colArticleNo = new DataGridTemplateColumn(); colArticleNo.Header = String.Format("ArticleNo"); DataTemplate tplArticleNo = new DataTemplate(); FrameworkElementFactory tblArticleNo = new FrameworkElementFactory(typeof(TextBlock)); tplArticleNo.VisualTree = tblArticleNo; tblArticleNo.SetBinding(TextBlock.TextProperty, new Binding(String.Format("ArticleNo"))); tblArticleNo.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblArticleNo.SetValue(TextBlock.PaddingProperty, new Thickness(3, 0, 0, 0)); colArticleNo.CellTemplate = tplArticleNo; colArticleNo.SortMemberPath = "ArticleNo"; colArticleNo.ClipboardContentBinding = new Binding(String.Format("ArticleNo")); dgWHDeliveryDetail.Columns.Add(colArticleNo); // Column OrderEFD dt.Columns.Add("OrderEFD", typeof(DateTime)); DataGridTemplateColumn colEFDOrder = new DataGridTemplateColumn(); colEFDOrder.Header = String.Format("Order\nEFD"); DataTemplate tplEFDOrder = new DataTemplate(); FrameworkElementFactory tblEFDOrder = new FrameworkElementFactory(typeof(TextBlock)); tplEFDOrder.VisualTree = tblEFDOrder; Binding bindingOrderEFD = new Binding(); bindingOrderEFD.Path = new PropertyPath("OrderEFD"); bindingOrderEFD.StringFormat = "dd-MMM"; //tblEFDOrder.SetBinding(TextBlock.TextProperty, new Binding(String.Format("OrderEFD"))); tblEFDOrder.SetBinding(TextBlock.TextProperty, bindingOrderEFD); tblEFDOrder.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblEFDOrder.SetValue(TextBlock.PaddingProperty, new Thickness(3, 0, 0, 0)); colEFDOrder.SortMemberPath = "OrderEFD"; colEFDOrder.ClipboardContentBinding = bindingOrderEFD; colEFDOrder.CellTemplate = tplEFDOrder; dgWHDeliveryDetail.Columns.Add(colEFDOrder); // Column DeliveryEFD dt.Columns.Add("DeliveryEFD", typeof(DateTime)); DataGridTemplateColumn colEFDDelivery = new DataGridTemplateColumn(); colEFDDelivery.Header = String.Format("Delivery\nEFD"); DataTemplate tplEFDDelivery = new DataTemplate(); FrameworkElementFactory tblEFDDelivery = new FrameworkElementFactory(typeof(TextBlock)); tplEFDDelivery.VisualTree = tblEFDDelivery; Binding bindingDeliveryEFD = new Binding(); bindingDeliveryEFD.Path = new PropertyPath("DeliveryEFD"); bindingDeliveryEFD.StringFormat = "dd-MMM"; //tblEFDDelivery.SetBinding(TextBlock.TextProperty, new Binding(String.Format("DeliveryEFD"))); tblEFDDelivery.SetBinding(TextBlock.TextProperty, bindingDeliveryEFD); tblEFDDelivery.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblEFDDelivery.SetValue(TextBlock.PaddingProperty, new Thickness(3, 0, 0, 0)); colEFDDelivery.SortMemberPath = "DeliveryEFD"; colEFDDelivery.ClipboardContentBinding = bindingDeliveryEFD; colEFDDelivery.CellTemplate = tplEFDDelivery; dgWHDeliveryDetail.Columns.Add(colEFDDelivery); // Column SewingStart dt.Columns.Add("SewingStartDate", typeof(DateTime)); DataGridTemplateColumn colSewingStart = new DataGridTemplateColumn(); colSewingStart.Header = String.Format("Sewing\nStart"); DataTemplate tplSewingStart = new DataTemplate(); FrameworkElementFactory tblSewingStart = new FrameworkElementFactory(typeof(TextBlock)); tplSewingStart.VisualTree = tblSewingStart; Binding bindingSewingStart = new Binding(); bindingSewingStart.Path = new PropertyPath("SewingStartDate"); bindingSewingStart.StringFormat = "dd-MMM"; //tblSewingStart.SetBinding(TextBlock.TextProperty, new Binding(String.Format("SewingStartDate"))); tblSewingStart.SetBinding(TextBlock.TextProperty, bindingSewingStart); tblSewingStart.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblSewingStart.SetValue(TextBlock.PaddingProperty, new Thickness(3, 0, 0, 0)); colSewingStart.SortMemberPath = "SewingStartDate"; colSewingStart.ClipboardContentBinding = bindingSewingStart; colSewingStart.CellTemplate = tplSewingStart; dgWHDeliveryDetail.Columns.Add(colSewingStart); // Column QuantityOrder dt.Columns.Add("QuantityOrder", typeof(Int32)); DataGridTemplateColumn colQtyOrder = new DataGridTemplateColumn(); colQtyOrder.Header = String.Format("Quantity\nOrder"); DataTemplate tplQtyOrder = new DataTemplate(); FrameworkElementFactory tblQtyOrder = new FrameworkElementFactory(typeof(TextBlock)); tplQtyOrder.VisualTree = tblQtyOrder; tblQtyOrder.SetBinding(TextBlock.TextProperty, new Binding(String.Format("QuantityOrder"))); tblQtyOrder.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center); tblQtyOrder.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblQtyOrder.SetValue(TextBlock.PaddingProperty, new Thickness(3, 0, 0, 0)); colQtyOrder.CellTemplate = tplQtyOrder; colQtyOrder.SortMemberPath = "QuantityOrder"; colQtyOrder.ClipboardContentBinding = new Binding(String.Format("QuantityOrder")); dgWHDeliveryDetail.Columns.Add(colQtyOrder); // Column Release dt.Columns.Add("Release", typeof(Int32)); DataGridTemplateColumn colRelease = new DataGridTemplateColumn(); colRelease.Header = String.Format("Release"); DataTemplate tplRelease = new DataTemplate(); FrameworkElementFactory tblRelease = new FrameworkElementFactory(typeof(TextBlock)); tplRelease.VisualTree = tblRelease; tblRelease.SetBinding(TextBlock.TextProperty, new Binding(String.Format("Release"))); tblRelease.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center); tblRelease.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblRelease.SetValue(TextBlock.PaddingProperty, new Thickness(3, 0, 0, 0)); colRelease.CellTemplate = tplRelease; colRelease.SortMemberPath = "Release"; colRelease.ClipboardContentBinding = new Binding(String.Format("Release")); dgWHDeliveryDetail.Columns.Add(colRelease); // Column Delivery dt.Columns.Add("Delivery", typeof(Int32)); DataGridTemplateColumn colDelivery = new DataGridTemplateColumn(); colDelivery.Header = String.Format("Delivery"); DataTemplate tplDelivery = new DataTemplate(); FrameworkElementFactory tblDelivery = new FrameworkElementFactory(typeof(TextBlock)); tplDelivery.VisualTree = tblDelivery; tblDelivery.SetBinding(TextBlock.TextProperty, new Binding(String.Format("Delivery"))); tblDelivery.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center); tblDelivery.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblDelivery.SetValue(TextBlock.PaddingProperty, new Thickness(3, 0, 0, 0)); colDelivery.CellTemplate = tplDelivery; colDelivery.SortMemberPath = "Delivery"; colDelivery.ClipboardContentBinding = new Binding(String.Format("Delivery")); dgWHDeliveryDetail.Columns.Add(colDelivery); // Column Reject dt.Columns.Add("Reject", typeof(Int32)); DataGridTemplateColumn colReject = new DataGridTemplateColumn(); colReject.Header = String.Format("Reject"); DataTemplate tplReject = new DataTemplate(); FrameworkElementFactory tblReject = new FrameworkElementFactory(typeof(TextBlock)); tplReject.VisualTree = tblReject; tblReject.SetBinding(TextBlock.TextProperty, new Binding(String.Format("Reject"))); tblReject.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center); tblReject.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblReject.SetValue(TextBlock.PaddingProperty, new Thickness(3, 0, 0, 0)); colReject.CellTemplate = tplReject; colReject.SortMemberPath = "Reject"; colReject.ClipboardContentBinding = new Binding(String.Format("Reject")); dgWHDeliveryDetail.Columns.Add(colReject); // Column SizeNo for (int i = 0; i < sizeNoList.Count(); i++) { var sizeRun_Size = sizeRunList.FirstOrDefault(w => w.SizeNo == sizeNoList[i]); if (sizeRun_Size == null) { continue; } string outsoleSize = "", midsoleSize = ""; if (sizeRun_Size != null) { outsoleSize = sizeRun_Size.OutsoleSize; midsoleSize = sizeRun_Size.MidsoleSize; } string sizeID = sizeRun_Size.SizeNo.Contains(".") == true ? sizeRun_Size.SizeNo.Replace(".", "@") : sizeRun_Size.SizeNo; dt.Columns.Add(String.Format("Column{0}", sizeID), typeof(String)); dt.Columns.Add(String.Format("ColumnBackground{0}", sizeID), typeof(SolidColorBrush)); dt.Columns.Add(String.Format("ColumnForeground{0}", sizeID), typeof(SolidColorBrush)); dt.Columns.Add(String.Format("ColumnTooltip{0}", sizeID), typeof(String)); DataGridTemplateColumn colSize = new DataGridTemplateColumn(); if (def.ShowOSSizeValue) { colSize.Header = String.Format("{0}\n{1}\n", sizeNoList[i], outsoleSize); } else { colSize.Header = String.Format("\n{0}\n", sizeNoList[i], ""); } colSize.MinWidth = 35; DataTemplate tplSize = new DataTemplate(); FrameworkElementFactory tblSize = new FrameworkElementFactory(typeof(TextBlock)); tplSize.VisualTree = tblSize; tblSize.SetBinding(TextBlock.TextProperty, new Binding(String.Format("Column{0}", sizeID))); tblSize.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center); tblSize.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblSize.SetValue(TextBlock.PaddingProperty, new Thickness(3, 3, 3, 3)); tblSize.SetValue(TextBlock.BackgroundProperty, new Binding(String.Format("ColumnBackground{0}", sizeID))); tblSize.SetValue(TextBlock.ForegroundProperty, new Binding(String.Format("ColumnForeground{0}", sizeID))); tblSize.SetValue(TextBlock.ToolTipProperty, new Binding(String.Format("ColumnTooltip{0}", sizeID))); colSize.CellTemplate = tplSize; colSize.ClipboardContentBinding = new Binding(String.Format("Column{0}", sizeID)); dgWHDeliveryDetail.Columns.Add(colSize); } // Column Balance dt.Columns.Add("TotalBalance", typeof(Int32)); DataGridTemplateColumn colBalance = new DataGridTemplateColumn(); colBalance.Header = String.Format("Total\nBalance"); DataTemplate tplBalance = new DataTemplate(); FrameworkElementFactory tblBalance = new FrameworkElementFactory(typeof(TextBlock)); tplBalance.VisualTree = tblBalance; tblBalance.SetBinding(TextBlock.TextProperty, new Binding(String.Format("TotalBalance"))); tblBalance.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center); tblBalance.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblBalance.SetValue(TextBlock.PaddingProperty, new Thickness(3, 0, 0, 0)); colBalance.CellTemplate = tplBalance; colBalance.SortMemberPath = "TotalBalance"; colBalance.ClipboardContentBinding = new Binding(String.Format("TotalBalance")); dgWHDeliveryDetail.Columns.Add(colBalance); // Column Reject dt.Columns.Add("ReleasePainting", typeof(Int32)); DataGridTemplateColumn colReleasePainting = new DataGridTemplateColumn(); colReleasePainting.Header = String.Format("Release\nPainting"); DataTemplate tplReleasePainting = new DataTemplate(); FrameworkElementFactory tblReleasePainting = new FrameworkElementFactory(typeof(TextBlock)); tplReleasePainting.VisualTree = tblReleasePainting; tblReleasePainting.SetBinding(TextBlock.TextProperty, new Binding(String.Format("ReleasePainting"))); tblReleasePainting.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center); tblReleasePainting.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center); tblReleasePainting.SetValue(TextBlock.PaddingProperty, new Thickness(3, 0, 0, 0)); colReleasePainting.CellTemplate = tplReleasePainting; colReleasePainting.SortMemberPath = "ReleasePainting"; colReleasePainting.ClipboardContentBinding = new Binding(String.Format("ReleasePainting")); dgWHDeliveryDetail.Columns.Add(colReleasePainting); })); // Binding Data if (productNoList.Count > 0) { productNoList = productNoList.OrderBy(o => o).ToList(); } foreach (var productNo in productNoList) { DataRow dr = dt.NewRow(); var order_PO = orderList.FirstOrDefault(w => w.ProductNo == productNo); var osMaterial_PO = outsoleMaterialList.Where(w => w.ProductNo == productNo).ToList(); var osRawMaterial_PO = outsoleRawMaterial.FirstOrDefault(w => w.ProductNo == productNo); var sewingMaster_PO = sewingMasterList.FirstOrDefault(w => w.ProductNo == productNo); var osRelease_PO = outsoleReleaseList.Where(w => w.ProductNo == productNo).ToList(); var contentStatusList = new List <ContentStatus>(); var sizeRunList_PO = sizeRunList.Where(w => w.ProductNo == productNo).ToList(); for (int i = 0; i < sizeNoList.Count(); i++) { string sizeNo = sizeNoList[i]; var contentStatus = new ContentStatus(); var sizeRun_Size = sizeRunList_PO.FirstOrDefault(w => w.SizeNo == sizeNo); string sizeID = sizeNo.Contains(".") == true?sizeNo.Replace(".", "@") : sizeNo; // if has balance, show balance = qty - delivery + reject // if contains reject highlight int qtyOrder_Size = sizeRun_Size != null ? sizeRun_Size.Quantity : 0; int qtyDelivery_Size = osMaterial_PO.FirstOrDefault(w => w.SizeNo == sizeNo) != null?osMaterial_PO.FirstOrDefault(w => w.SizeNo == sizeNo).Quantity : 0; int qtyReject_Size = osMaterial_PO.FirstOrDefault(w => w.SizeNo == sizeNo) != null?osMaterial_PO.FirstOrDefault(w => w.SizeNo == sizeNo).QuantityReject : 0; // Default Color contentStatus.WidthDefaultCell = 5; contentStatus.BorderColorCell = System.Drawing.Color.LightGray; contentStatus.ForegroundCell = System.Drawing.Color.Black; contentStatus.BackgroundCell = System.Drawing.Color.Transparent; int qtyBalance_Size = qtyOrder_Size - qtyDelivery_Size; if (qtyBalance_Size > 0) { dr[String.Format("Column{0}", sizeID)] = qtyBalance_Size; dr[String.Format("ColumnBackground{0}", sizeID)] = Brushes.Tomato; contentStatus.Quantity = qtyBalance_Size; } if (qtyReject_Size > 0) { dr[String.Format("Column{0}", sizeID)] = qtyReject_Size; dr[String.Format("ColumnForeground{0}", sizeID)] = Brushes.Red; contentStatus.Quantity = qtyReject_Size; contentStatus.ForegroundCell = System.Drawing.Color.Red; if (qtyBalance_Size > 0) { int qtyBalanceTotal = qtyBalance_Size + qtyReject_Size; dr[String.Format("Column{0}", sizeID)] = qtyBalanceTotal; dr[String.Format("ColumnBackground{0}", sizeID)] = Brushes.Yellow; dr[String.Format("ColumnTooltip{0}", sizeID)] = String.Format("Balance: {0}\nReject : {1}", qtyBalance_Size, qtyReject_Size); contentStatus.Quantity = qtyBalanceTotal; contentStatus.BackgroundCell = System.Drawing.Color.Yellow; } } // //if (qtyBalance_Size > 0 || qtyReject_Size > 0) contentStatusList.Add(contentStatus); } var articleNo = order_PO != null ? order_PO.ArticleNo : ""; var orderEFD = order_PO != null ? order_PO.ETD : new DateTime(2000, 1, 1); var delEFD = osRawMaterial_PO != null ? osRawMaterial_PO.ETD : new DateTime(2000, 1, 1); var sewStart = sewingMaster_PO != null ? sewingMaster_PO.SewingStartDate : new DateTime(2000, 1, 1); var release = osRelease_PO.Sum(s => s.Quantity); var qtyOrder = sizeRunList_PO.Sum(s => s.Quantity); var qtyDelivery = osMaterial_PO.Sum(s => s.Quantity); var qtyReject = osMaterial_PO.Sum(s => s.QuantityReject); var qtyReleasePainting = osMaterial_PO.FirstOrDefault().TotalReleasePainting; dr["ProductNo"] = productNo; dr["ArticleNo"] = articleNo; dr["OrderEFD"] = orderEFD; dr["DeliveryEFD"] = delEFD; dr["SewingStartDate"] = sewStart; dr["QuantityOrder"] = qtyOrder; dr["Release"] = release; dr["Delivery"] = qtyDelivery; dr["Reject"] = qtyReject; dr["TotalBalance"] = qtyOrder - qtyDelivery + qtyReject; dr["ReleasePainting"] = qtyReleasePainting; dt.Rows.Add(dr); var excelExportModel = new ExportExcelModel() { ProductNo = productNo, ArticleNo = articleNo, OrderEFD = orderEFD, DeliveryEFD = delEFD, SewingStartDate = sewStart, QuantityOrder = qtyOrder, Release = release, Delivery = qtyDelivery, Reject = qtyReject, ContentStatusList = contentStatusList, TotalBalance = qtyOrder - qtyDelivery + qtyReject, TotalReleasePainting = qtyReleasePainting, }; excelExportList.Add(excelExportModel); } DataRow drTotal = dt.NewRow(); drTotal["ProductNo"] = "Total"; drTotal["QuantityOrder"] = string.Format("{0:#,0}", dt.Compute("Sum(QuantityOrder)", "").ToString()); drTotal["Release"] = string.Format("{0:#,0}", dt.Compute("Sum(Release)", "").ToString()); drTotal["Delivery"] = string.Format("{0:#,0}", dt.Compute("Sum(Delivery)", "").ToString()); drTotal["Reject"] = string.Format("{0:#,0}", dt.Compute("Sum(Reject)", "").ToString()); drTotal["TotalBalance"] = string.Format("{0:#,0}", dt.Compute("Sum(TotalBalance)", "").ToString()); drTotal["ReleasePainting"] = string.Format("{0:#,0}", dt.Compute("Sum(ReleasePainting)", "").ToString()); dt.Rows.Add(drTotal); e.Result = dt; }