/// <summary> /// Crea una instancia de un documento Excel usando una instancia de configuración /// para su diseño. /// </summary> /// <param name="datos">datos para crear el archivo</param> /// <param name="tituloPagina">Nombre de la página que contendrá la tabla</param> /// <param name="configuracionTablaTheme">Configuración del diseño de la página</param> /// <returns>Array de bytes con el contenido del archivo ya creado</returns> public XLWorkbook CrearDocumento <T>(IEnumerable <T> datos, string tituloPagina, ConfiguracionTablaTheme configuracionTablaTheme = null) { var dataTable = datos.ToDataTable(); return(CrearDocumento(dataTable, tituloPagina, configuracionTablaTheme)); }
/// <summary> /// Comprueba que los datos del parámetro configuracionTablaTheme /// son correctos y les añade a cada pie y cabecera el ancho /// que tendrán basándose en el ancho de la propia tabla /// </summary> /// <param name="datos"></param> /// <param name="configuracionTablaTheme"></param> /// <returns></returns> private ConfiguracionTablaTheme NormalizarConfiguracion(DataTable datos, ConfiguracionTablaTheme configuracionTablaTheme) { configuracionTablaTheme = (configuracionTablaTheme == null) ? new ConfiguracionTablaTheme() : configuracionTablaTheme; CalcularAnchosNotas(datos, configuracionTablaTheme); return(configuracionTablaTheme); }
/// <summary> /// Crea una instancia de un documento Excel usando una instancia de configuración /// para su diseño. /// </summary> /// <param name="datos">datos para crear el archivo</param> /// <param name="tituloPagina">Nombre de la página que contendrá la tabla</param> /// <param name="configuracionTablaTheme">Configuración del diseño de la página</param> /// <returns>Array de bytes con el contenido del archivo ya creado</returns> public XLWorkbook CrearDocumento(DataTable datos, string tituloPagina, ConfiguracionTablaTheme configuracionTablaTheme = null) { configuracionTablaTheme = NormalizarConfiguracion(datos, configuracionTablaTheme); tituloPagina = (string.IsNullOrEmpty(tituloPagina)) ? "Tabla" : tituloPagina; var wb = new XLWorkbook(); var ws = wb.Worksheets.Add(tituloPagina); IntroducirNotas(ws, configuracionTablaTheme.PosicionInicial, configuracionTablaTheme.Cabeceras); IntroducirTabla(ws, datos, configuracionTablaTheme); IntroducirNotas(ws, configuracionTablaTheme.PosicionInicial, configuracionTablaTheme.Pies); return(wb); }
public ActionResult ExcelListaTipada() { IList <PersonaDto> listaPersonas = new List <PersonaDto>(); PersonaDto persona1 = new PersonaDto("Eduardo", "Goikoa", "Pérez", 34); PersonaDto persona2 = new PersonaDto("Amaia", "Goikoa", "Pérez", 45); PersonaDto persona3 = new PersonaDto("Arantza", "Asiain", "Muniain", 45); listaPersonas.Add(persona1); listaPersonas.Add(persona2); listaPersonas.Add(persona3); var excelGenerator = new ExcelGenerator(); var configuracion = new ConfiguracionTablaTheme(); configuracion.ThemeTabla = XLTableTheme.TableStyleMedium26; return(excelGenerator.CrearMemoryStreamExcel(listaPersonas, NombreFichero, configuracion).ToActionResult(NombreFichero)); }
protected void BtnExcelListaTipada_Click(object sender, EventArgs e) { IList <PersonaDto> listaPersonas = new List <PersonaDto>(); PersonaDto persona1 = new PersonaDto("Eduardo", "Goikoa", "Pérez", 34); PersonaDto persona2 = new PersonaDto("Amaia", "Goikoa", "Pérez", 45); PersonaDto persona3 = new PersonaDto("Arantza", "Asiain", "Muniain", 45); listaPersonas.Add(persona1); listaPersonas.Add(persona2); listaPersonas.Add(persona3); var configuracion = new ConfiguracionTablaTheme(); configuracion.ThemeTabla = XLTableTheme.TableStyleLight9; var ficheroExcel = _excelGenerator.CrearMemoryStreamExcel(listaPersonas, NombreFichero, configuracion); ImprimirPorPantallaExcel(NombreFichero, ficheroExcel); }