/// <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="configuracionTablaManual">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, ConfiguracionTablaManual configuracionTablaManual = null) { var dataTable = datos.ToDataTable(); return(CrearDocumento(dataTable, tituloPagina, configuracionTablaManual)); }
/// <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="configuracionTablaManual"></param> /// <returns></returns> private ConfiguracionTablaManual NormalizarConfiguracion(DataTable datos, ConfiguracionTablaManual configuracionTablaManual) { configuracionTablaManual = (configuracionTablaManual == null) ? new ConfiguracionTablaManual() : configuracionTablaManual; CalcularAnchosNotas(datos, configuracionTablaManual); return(configuracionTablaManual); }
/// <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="configuracionTablaManual">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, ConfiguracionTablaManual configuracionTablaManual = null) { configuracionTablaManual = NormalizarConfiguracion(datos, configuracionTablaManual); tituloPagina = (string.IsNullOrEmpty(tituloPagina)) ? "Tabla" : tituloPagina; var wb = new XLWorkbook(); var ws = wb.Worksheets.Add(tituloPagina); IntroducirNotas(ws, configuracionTablaManual.PosicionInicial, configuracionTablaManual.Cabeceras); IntroducirTabla(ws, datos, configuracionTablaManual); IntroducirNotas(ws, configuracionTablaManual.PosicionInicial, configuracionTablaManual.Pies); return(wb); }