none
Exportar a Excel con ClosedXml RRS feed

  • Pregunta

  • Que tal.... Tengo un problema al exportar un IEnumerable a excel, utilizo closedXml, EF y MVC. Al descargarlo se crea el excel pero con columnas de las relaciones que tenga una clase, ademas de una columna _entityWrapper.... Necesito exportarlo pero sin estas columnas... Si alguien le ha sucedio lo mismo, o tenga experiencia con ClosedXml seria de gran ayuda.... 
    jueves, 23 de octubre de 2014 21:38

Respuestas

  • hola

    podrias usar automapper para convertir la entidad de EF en un objeto que tu definas sin las clases de navegacion

    entonces exportas esa entidad y no la de EF directo

    Nota: sino quieres usar automapper podrias usar linq convirtiendo en el "select" algo como ser

    var result = from item in contexto.Tabla
                      select new CustomClass() {
                            Prop1 = item.Prop1,
                            Prop2 = item.Prop2
                       };

    como veras alli conviertes a una clase que tu creas y que no tienes esas propiedades que no quieres exportar

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta edieslu viernes, 24 de octubre de 2014 16:45
    viernes, 24 de octubre de 2014 12:34

Todas las respuestas

  • hola

    podrias usar automapper para convertir la entidad de EF en un objeto que tu definas sin las clases de navegacion

    entonces exportas esa entidad y no la de EF directo

    Nota: sino quieres usar automapper podrias usar linq convirtiendo en el "select" algo como ser

    var result = from item in contexto.Tabla
                      select new CustomClass() {
                            Prop1 = item.Prop1,
                            Prop2 = item.Prop2
                       };

    como veras alli conviertes a una clase que tu creas y que no tienes esas propiedades que no quieres exportar

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta edieslu viernes, 24 de octubre de 2014 16:45
    viernes, 24 de octubre de 2014 12:34
  • Gracias por tu respuesta Leandro, utilizando la segunda forma no será un metodo demasido lento cuando se tenga muchos registros......??? Habría una forma de optimiar esa parte..???

    De ahi funciona a la perfeccion tu sugerencia...

    Saludos...

    Edison Espinosa

    viernes, 24 de octubre de 2014 16:45