Crear un Archivo Excel con Epplus - Parte 4 - Creando y Guardando Archivo en Excel

Fecha de Publicación: 2019-07-13

Introducción

Si has llegado directamente te recomiendo visitar la serie de post anteriores para la libreria Epplus para que comiences el proyecto desde 0, si tu intención es solo resolver dudas continuemos.

Resultado

Las siguientes imagenes es lo que obtendremos al realizar la serie completa Crear un Archivo Excel con Epplus:

00_cees_00

Codigo Fuente

Descargar

Creando y Guardando Archivo en Excel


En este momento ya tenemos nuestra lista llena, ahora procederemos a utilizar nuestra libreria de Epplus, lo que haremos será crear un metodo donde ocuparemos dicha la libreria y el codigo con el que lo hacemos quedara de la seguiente forma:

                
static void Main(string[] args)
{
    string strWorkDir = string.Empty,
           strBuffer = string.Empty,
           strFileToWork = string.Empty,
           strFileToCreate = string.Empty;

    bool bRet = false;

    strWorkDir = ConfigurationManager.AppSettings["WorkDir"].ToString();

    strFileToWork = strWorkDir + ConfigurationManager.AppSettings["FileToWork"].ToString();

    strFileToCreate = strWorkDir + ConfigurationManager.AppSettings["FileToCreate"].ToString();

    strBuffer = File.ReadAllText(strFileToWork, Encoding.Default);

    List lstCp = null;

    lstCp = GetListCp(strBuffer);

    bRet = CreateReporteExcel(lstCp, strFileToCreate);

    if (bRet == true)
    {
        Console.WriteLine("Excel Creado Existosamente");
    }
}
            
        
La linea que se muestra en la parte de abajo de nuesto codigo es la que manda a llamar al metodo donde se crea el archivo end Excel con Epplus.
                
bRet = CreateReporteExcel(lstCp, strFileToCreate);
                
            
A continuación se muestra el metodo que crea el archivo en Excel.


        static bool CreateReporteExcel(List lstCp, string strFileToCreate)
        {
            bool bRet = false;

            FileInfo newFile = new FileInfo(strFileToCreate);
            newFile.Delete();

            try
            {
                using (ExcelPackage xlsPackage = new ExcelPackage(newFile))
                {
                    ExcelWorksheet wsReporteCodigosPostales = xlsPackage.Workbook.Worksheets.Add("CodigosPostales");
                    HojaReporteCodigosPostales(wsReporteCodigosPostales, lstCp);


                    xlsPackage.Workbook.Properties.Title = "Reporte";
                    xlsPackage.Workbook.Properties.Author = "La Web de Dan";
                    xlsPackage.Save();
                    bRet = true;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message + " " + ex.StackTrace);
            }

            return bRet;
        }        
        
Este metodo es el que realiza la creación del archivo en Excel, recibe 2 parametros, 1 es la lista que acabamos de llenar y el segundo es la ruta donde guardaremos el archivo. Lo primero que hace el metodo es borrar si existe un archivo con el nombre asignado en la variable strFileToCreate y despues usar la libreria para crear el archivo excel donde se setea la hoja a la cual se asignaremos los datos y segundo llenar la hoja con esos datos con el metodo HojaReporteCodigosPostales, al final se guarda el archivo y con ello se finaliza la creación del archivo Excel.

El metodo HojaReporteCodigosPostales se muestra a continuación:
            

private static void HojaReporteCodigosPostales(ExcelWorksheet wsReporteCodigosPostales, List lstCp)
{
    CommonExcel.WorkSheetStyles(wsReporteCodigosPostales);

    int nRow = 1;

    nRow = EncabezadosGeneral(wsReporteCodigosPostales, nRow, false);

    foreach (CodigosPostales item in lstCp)
    {
        CommonExcel.cellNumber(wsReporteCodigosPostales, nRow, 1, item.DCodigo, false, true, CommonExcel.colorBlanco, CommonExcel.colorNegro, CommonExcel.colorBlanco, 8, CommonExcel.horizontalAligmentCenter);
        CommonExcel.cellString(wsReporteCodigosPostales, nRow, 2, nRow, 2, item.DCiudad, false, CommonExcel.colorBlanco, CommonExcel.colorNegro, CommonExcel.colorBlanco, 8);
        CommonExcel.cellString(wsReporteCodigosPostales, nRow, 3, nRow, 3, item.DMnpio, false, CommonExcel.colorBlanco, CommonExcel.colorNegro, CommonExcel.colorBlanco, 8);
        CommonExcel.cellString(wsReporteCodigosPostales, nRow, 4, nRow, 4, item.DAsenta, false, CommonExcel.colorBlanco, CommonExcel.colorNegro, CommonExcel.colorBlanco, 8);
        nRow++;
    }

}
        
    
Este metodo HojaReporteCodigosPostales inserta los datos de la lista y tiene la configuración de la celda que se quiere pintar en el archivo Excel. Aqui setean los parametros de cada celda con la clase CommonExcel que funge como clase de formato para las celdas y de acceso comun si se quieren crear otras hojas en el mismo archivo.

Ahora que hemos creado el archivo de Excel procederemos a darle formato. En la parte de abajo da click en el enlace Siguiente para continuar con el ejercicio.