Grails excel-import插件使用exponent填充的数字

时间:2015-03-10 19:25:55

标签: grails import-from-excel

我正在尝试使用excel-import插件导入ms-excel 2007表。与我的项目集成很简单,我发现它按预期工作,直到我注意到单元格中的数字值被填充为带有指数的实数。 例如,如果单元格包含值9062831150099 - (填充为) - > 9.062831150099E12,即

         A              |
    _____________________
    Registration Number |
    ____________________
    9062831150099

填充为:[RegNum:9.062831150099E12]

任何人都可以建议我如何将此表示更改回其原始格式,并将其类型保持为数字?

1 个答案:

答案 0 :(得分:0)

在第一次尝试时错过了它,但我想出了如何实现它:

调用密钥方法(处理cellMap和columnMaps的方法)时,例如List bookParamsList = excelImportService.columns(workbook, CONFIG_BOOK_COLUMN_MAP)Map bookParams = excelImportService.cells(workbook, CONFIG_BOOK_CELL_MAP ) 还能够传递配置信息,即指定如果单元格为空(即提供默认值)要执行的操作,以确保单元格具有预期类型等。

所以在我的例子中,我创建了一个配置参数Map对象的属性,并将其传递给上述方法。即。

Class UploadExcelDataController {
    def excelImportService

    static Map CONFIG_BOOK_COLUMN_MAP = [
              sheet:'Sheet1', 
              startRow: 2,
              columnMap:  [
                      'A':'registrationNumber',
                      'B':'title',
                      'C':'author',
                      'D':'numSold',
              ]
      ]

    static Map configBookPropertyMap = [
        registrationNumber: ([expectedType: ExpectedPropertyType.IntType, defaultValue:0])
        ]

    def uploadFile(){
    ...
    List bookParamsList = excelImportService.columns(workbook, CONFIG_BOOK_COLUMN_MAP,configBookPropertyMap )
    ...
    }
}