Changeset 684


Ignore:
Timestamp:
Jul 21, 2010, 2:47:31 PM (13 years ago)
Author:
tabma
Message:
  • integer column is now correctly returned as an integer (formatValue-method), POI *always* returns a double if a column is numeric...
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/services/dbnp/importer/ImporterService.groovy

    r669 r684  
    172172            (0..header.size()-1).each { columnindex ->
    173173                def c = sheet.getRow(rowindex).getCell(columnindex, org.apache.poi.ss.usermodel.Row.CREATE_NULL_AS_BLANK)               
     174                //row.add(df.formatCellValue(c))
    174175                row.add(c)
    175176                //if (c.getCellType() == c.CELL_TYPE_STRING) println "STR"+c.getStringCellValue()
     
    210211
    211212    /**
    212     * Method to read data from a workbook and to import data into the database
    213     * by using mapping information
     213    * Method to read data from a workbook and to import data into a two dimensional
     214    * array
    214215    *
    215216    * @param template_id template identifier to use fields from
     
    312313            def value
    313314
     315            // Check if column must be imported
    314316            if (!mc.dontimport) {
    315                 /*try {
    316                 value = formatValue(df.formatCellValue(cell), mc.templatefieldtype)
     317                try {
     318                    value = formatValue(df.formatCellValue(cell), mc.templatefieldtype)
    317319                } catch (NumberFormatException nfe) {
    318320                 value = ""
    319                 }*/
    320             value = df.formatCellValue(cell)
     321                }
    321322
    322323            switch(mc.entity) {
     
    351352                case TemplateFieldType.STRING       :   return value.trim()
    352353                case TemplateFieldType.TEXT         :   return value.trim()
    353                 case TemplateFieldType.INTEGER      :   return Integer.valueOf(value)
     354                case TemplateFieldType.INTEGER      :   return (int) Double.valueOf(value)
    354355                case TemplateFieldType.FLOAT        :   return Float.valueOf(value.replace(",","."));
    355356                case TemplateFieldType.DOUBLE       :   return Double.valueOf(value.replace(",","."));
     
    360361            }
    361362    }
     363
    362364}
Note: See TracChangeset for help on using the changeset viewer.