导出到excel时设置数据类型

时间:2013-06-03 21:29:31

标签: grails export export-to-excel

我正在使用带有导出0.9.5插件的Grails 1.3.4。

我使用的格式化程序在导出到excel时将日期格式设置为'YYYY-MM-DD'。但这并不会改变数据类型。日期将作为字符串/常规数据类型导出到Excel。

def dateFormat = { domain, value ->
    if(value instanceof Date){
         return new java.text.SimpleDateFormat("yyyy-MM-dd").format(value)
    }
    return value
}

Map formatters = [ecd:dateFormat, completed:dateFormat, dateCreated:dateFormat, approvedDate:dateFormat, dpaECD:dateFormat]
exportService.export(params.format, response.outputStream,exportList, jobService.parseColNames(columns), labels, formatters, null)

有没有办法导出数据并在excel中设置列的数据类型,这样用户每次导出后都不必手动将单元格/列格式设置为“日期”?

1 个答案:

答案 0 :(得分:1)

您确定要使用该插件吗?它对我来说效果不好。

我一直在使用Grails的JXL插件一段时间,它运行得很好。

它甚至可以选择将Excel文件写入响应,以便用户可以使用我的REST服务直接下载文件。

链接是:http://grails.org/plugin/jxl

以下是创建工作簿的简单示例:

new ExcelBuilder().workbook('/path/to/test.xls') {
    sheet('SheetName') {
        cell(0,0,'Current Date')
        cell(0,1,new Date())
    }
}

请注意,cell()方法有3个参数:column,row和value。第三个参数可以是数字,字符串或日期,它可以完美地格式化。

您可以找到更多信息here