public void CrearExcelT <T>(List <T> lista) { CrearExcel excel = new CrearExcel(); DataTable dt = excel.ToDataTable <T>(lista); string nombre = "MovilidadDocenteExteInter"; string[,] multidimensionalArray = new string[dt.Rows.Count, dt.Columns.Count]; for (int i = 0; i < dt.Rows.Count; i++) { for (int j = 0; j < dt.Columns.Count; j++) { multidimensionalArray[i, j] = dt.Rows[i][j].ToString(); } } using (XLWorkbook wb = new XLWorkbook())//https://github.com/ClosedXML/ClosedXML <----- la libreria { wb.Worksheets.Add(dt, nombre); Response.Clear(); Response.Buffer = true; Response.Charset = ""; Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename=" + nombre + ".xlsx"); using (MemoryStream MyMemoryStream = new MemoryStream()) { wb.SaveAs(MyMemoryStream); MyMemoryStream.WriteTo(Response.OutputStream); Response.Flush(); Response.End(); } } }
public void CrearExcelT <T>(List <T> lista) { CrearExcel excel = new CrearExcel(); DataTable dt = excel.ToDataTable <T>(lista); using (XLWorkbook wb = new XLWorkbook())//https://github.com/ClosedXML/ClosedXML <----- la libreria { wb.Worksheets.Add(dt, dt.TableName.ToString()); Response.Clear(); Response.Buffer = true; Response.Charset = ""; Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename=" + dt.TableName.ToString() + ".xlsx"); using (MemoryStream MyMemoryStream = new MemoryStream()) { wb.SaveAs(MyMemoryStream); MyMemoryStream.WriteTo(Response.OutputStream); Response.Flush(); Response.End(); } } }