Не удалось написать строки в Excel - PullRequest
0 голосов
/ 28 июня 2018

Это мой код для экспорта данных в Excel. У меня список пользователей не пустой.

def exportExcel () {

        if(params?.type && params.type != "html"){

            response.contentType = grailsApplication.config.grails.mime.types[params.type]
            response.setHeader("Content-disposition", "attachment; filename=cdsadminlist.${params.extension}")

            List fields = ["username", "email"]
            Map labels = ["username":"User Name", "email":"Email"]

            def upperCase = { domain, value ->
                return value.toUpperCase()
            }

            Map parameters = [title: "cds admin list", "column.widths":[0.15, 0.4]]
            Map formatters = [:]
            List users = userService.cdsAdminList()

            exportService.export(params.type, response.outputStream, users, fields, labels, formatters, parameters)
        }

    }

А это мой код для получения пользователей

def cdsAdminList () {

    def users = UserRole.createCriteria().list{
            or{
                eq("role",Role.findByAuthority(CdsStaticPath.StaticRoles.ROLE_CDSUSER))
                eq("role",Role.findByAuthority(CdsStaticPath.StaticRoles.ROLE_AGENTADMIN))
                eq("role",Role.findByAuthority(CdsStaticPath.StaticRoles.ROLE_REPORTVIEWER))
            }
    }

    def userList = []
    users.each {user->
        if(user.user.enabled){
            userList.add(user)
        }
    }

    return userList
} 

Excel показывает пустые строки enter image description here

Помогите мне решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

Нашел это !!!

Вы выполняете итерацию с объектом UserRole, который содержит объект User. Вы должны добавить в список объект user:

if(user.user.enabled){
  userList.add(user.user)
}
0 голосов
/ 30 июня 2018

Имеет ли ваш Пользователь домен атрибут email ? не уверен, но если вы установите атрибуты, которых у вас нет в вашем домене, это может дать сбой тишина

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...