public List <AV_SiteTestLog> ToList(string Filter, Int64 SiteId, Int64 NetworkmodeId, Int64 BandId, Int64 CarrierId, Int64 ScopeId) { DataTable dt = stld.Get(Filter, SiteId, NetworkmodeId, BandId, CarrierId, ScopeId); return(dt.ToList <AV_SiteTestLog>()); }
// GET: SiteTestLog public ActionResult Export(Int64 SiteId, Int64 NetworkmodeId, Int64 BandId, Int64 CarrierId, Int64 ScopeId) { MemoryStream memStream = new MemoryStream(); string FileName = DateTime.Now.ToString(); AV_SiteTestLogDL stld = new AV_SiteTestLogDL(); DataTable dt = stld.Get("Export", SiteId, NetworkmodeId, BandId, CarrierId, ScopeId); if (dt != null && dt.Rows.Count > 0) { var temp = dt.AsEnumerable() .GroupBy(r => new { Col1 = r["TestType"] }) .Select(g => g.OrderBy(r => r["TestType"]).First()) .CopyToDataTable(); dt.Columns.Remove("ActualNetMode"); dt.Columns.Remove("ActualBand"); dt.Columns.Remove("ActualCarrier"); using (var package = new ExcelPackage()) { FileName = dt.Rows[0][4] + "_" + dt.Rows[0][2] + "_" + dt.Rows[0][3] + "_" + dt.Rows[0][5] + "_" + DateTime.Now.ToString(); for (int t = 0; t < temp.Rows.Count; t++) { string TestType = (temp.Columns.Contains("TestType")) ? temp.Rows[t]["TestType"].ToString() : ""; dt.DefaultView.RowFilter = "TestType='" + TestType + "'"; DataTable CCW = (dt.DefaultView).ToTable(); CCW.Columns.Remove("TestType"); var Sheet1 = package.Workbook.Worksheets.Add(TestType); for (int i = 0; i < CCW.Columns.Count; i++) { Sheet1.Cells[1, i + 1].Value = CCW.Columns[i].ColumnName; } for (int i = 0; i < CCW.Rows.Count; i++) { for (int j = 0; j < CCW.Columns.Count; j++) { Sheet1.Cells[i + 2, j + 1].Value = CCW.Rows[i][j].ToString(); } } } memStream = new MemoryStream(package.GetAsByteArray()); } return(File(memStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", FileName + ".xlsx")); } else { ViewBag.error = true; TempData["error"] = ViewBag.error; return(Redirect("/Dashboard/Index")); //Redirect("/Dashboard/Index"); } //using (var package = new ExcelPackage()) //{ // // var CCW = rec.Where(m => m.TestType == "CCW").ToList().ToDataTable(); // if (dt.Rows.Count > 0) // { // FileName = dt.Rows[0][4] + "_" + dt.Rows[0][2] + "_" + dt.Rows[0][3] + "_" + dt.Rows[0][5] + "_" + DateTime.Now.ToString(); // #region CCW // dt.DefaultView.RowFilter = "TestType='CCW'"; // DataTable CCW = (dt.DefaultView).ToTable(); // CCW.Columns.Remove("TestType"); // CCW.Columns.Remove("ActualNetMode"); // CCW.Columns.Remove("ActualBand"); // CCW.Columns.Remove("ActualCarrier"); // var Sheet1 = package.Workbook.Worksheets.Add("CCW"); // for (int i = 0; i < CCW.Columns.Count; i++) // { // Sheet1.Cells[1, i + 1].Value = CCW.Columns[i].ColumnName; // } // for (int i = 0; i < CCW.Rows.Count; i++) // { // for (int j = 0; j < CCW.Columns.Count; j++) // { // Sheet1.Cells[i + 2, j + 1].Value = CCW.Rows[i][j].ToString(); // } // } // #endregion // #region CW // dt.DefaultView.RowFilter = "TestType='CW'"; // DataTable CW = (dt.DefaultView).ToTable(); // CW.Columns.Remove("TestType"); // CW.Columns.Remove("ActualNetMode"); // CW.Columns.Remove("ActualBand"); // CW.Columns.Remove("ActualCarrier"); // // var CW = rec.Where(m => m.TestType == "CW").ToList().ToDataTable(); // var Sheet2 = package.Workbook.Worksheets.Add("CW"); // for (int i = 0; i < CW.Columns.Count; i++) // { // Sheet2.Cells[1, i + 1].Value = CW.Columns[i].ColumnName; // } // for (int i = 0; i < CW.Rows.Count; i++) // { // for (int j = 0; j < CW.Columns.Count; j++) // { // Sheet2.Cells[i + 2, j + 1].Value = CW.Rows[i][j].ToString(); // } // } // #endregion // #region DL // dt.DefaultView.RowFilter = "TestType='DL'"; // DataTable DL = (dt.DefaultView).ToTable(); // DL.Columns.Remove("TestType"); // DL.Columns.Remove("ActualNetMode"); // DL.Columns.Remove("ActualBand"); // DL.Columns.Remove("ActualCarrier"); // // var DL = rec.Where(m => m.TestType == "DL").ToList().ToDataTable(); // var Sheet3 = package.Workbook.Worksheets.Add("DL"); // for (int i = 0; i < DL.Columns.Count; i++) // { // Sheet3.Cells[1, i + 1].Value = DL.Columns[i].ColumnName; // } // for (int i = 0; i < DL.Rows.Count; i++) // { // for (int j = 0; j < DL.Columns.Count; j++) // { // Sheet3.Cells[i + 2, j + 1].Value = DL.Rows[i][j].ToString(); // } // } // #endregion // #region UL // dt.DefaultView.RowFilter = "TestType='UL'"; // DataTable UL = (dt.DefaultView).ToTable(); // UL.Columns.Remove("TestType"); // UL.Columns.Remove("ActualNetMode"); // UL.Columns.Remove("ActualBand"); // UL.Columns.Remove("ActualCarrier"); // //var UL = rec.Where(m => m.TestType == "UL").ToList().ToDataTable(); // var Sheet4 = package.Workbook.Worksheets.Add("UL"); // for (int i = 0; i < UL.Columns.Count; i++) // { // Sheet4.Cells[1, i + 1].Value = UL.Columns[i].ColumnName; // } // for (int i = 0; i < UL.Rows.Count; i++) // { // for (int j = 0; j < UL.Columns.Count; j++) // { // Sheet4.Cells[i + 2, j + 1].Value = UL.Rows[i][j].ToString(); // } // } // #endregion // #region UL // dt.DefaultView.RowFilter = "TestType='Ping'"; // DataTable Ping = (dt.DefaultView).ToTable(); // Ping.Columns.Remove("TestType"); // Ping.Columns.Remove("ActualNetMode"); // Ping.Columns.Remove("ActualBand"); // Ping.Columns.Remove("ActualCarrier"); // // var Ping = rec.Where(m => m.TestType == "Ping").ToList().ToDataTable(); // var Sheet5 = package.Workbook.Worksheets.Add("Ping"); // for (int i = 0; i < Ping.Columns.Count; i++) // { // Sheet5.Cells[1, i + 1].Value = Ping.Columns[i].ColumnName; // } // for (int i = 0; i < Ping.Rows.Count; i++) // { // for (int j = 0; j < Ping.Columns.Count; j++) // { // Sheet5.Cells[i + 2, j + 1].Value = Ping.Rows[i][j].ToString(); // } // } // #endregion // } // memStream = new MemoryStream(package.GetAsByteArray()); //} //return File(memStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", FileName + ".xlsx"); }