Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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);
        }