Changeset 655


Ignore:
Timestamp:
Jul 15, 2010, 3:38:18 PM (6 years ago)
Author:
tabma
Message:
  • fixed header and column import with mouse test dataset
Location:
trunk/grails-app
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/dbnp/importer/ImporterController.groovy

    r632 r655  
    6363        session.importer_workbook = wb
    6464
    65         render (view:"step1_advanced", model:[header:session.importer_header, datamatrix:ImporterService.getDatamatrix(wb, 0, 5)])
     65        render (view:"step1_advanced", model:[header:session.importer_header, datamatrix:ImporterService.getDatamatrix(wb, session.importer_header, 0, 5)])
    6666    }
    6767
     
    9090        def templates = Template.get(session.importer_template_id)
    9191       
    92         render(view:"step2_simple", model:[entities: selectedentities, header:session.importer_header, datamatrix:ImporterService.getDatamatrix(wb, 0, 5), templates:templates])
     92        render(view:"step2_simple", model:[entities: selectedentities, header:session.importer_header, datamatrix:ImporterService.getDatamatrix(wb, session.importer_header, 0, 5), templates:templates])
    9393    }
    9494
     
    125125        }
    126126
    127         render(view:"step3", model:[datamatrix:session.importer_importeddata])
    128         //render("Succesful")
     127        render(view:"step3", model:[datamatrix:session.importer_importeddata]) 
    129128    }
    130129
  • trunk/grails-app/services/dbnp/importer/ImporterService.groovy

    r634 r655  
    5252
    5353        def sheet = wb.getSheetAt(sheetindex)
    54         def datamatrix_start = sheet.getFirstRowNum() + 1
     54        def datamatrix_start = sheet.getFirstRowNum() + 2
     55        def sheetrow = sheet.getRow(datamatrix_start)
    5556        //def header = []
    5657        def header = [:]
     
    5859        def property = new String()
    5960
    60         for (HSSFCell c: sheet.getRow(datamatrix_start)) {
    61             def index   =   c.getColumnIndex()
    62             def datamatrix_celltype = sheet.getRow(datamatrix_start).getCell(index).getCellType()
    63             def datamatrix_celldata = df.formatCellValue(sheet.getRow(datamatrix_start).getCell(index))
    64             def headercell = sheet.getRow(sheet.getFirstRowNum()).getCell(index)
     61        //for (HSSFCell c: sheet.getRow(datamatrix_start)) {
     62
     63        (0..sheetrow.getLastCellNum() -1 ).each { columnindex ->
     64
     65            //def index =   c.getColumnIndex()
     66            def datamatrix_celltype = sheet.getRow(datamatrix_start).getCell(columnindex, org.apache.poi.ss.usermodel.Row.CREATE_NULL_AS_BLANK).getCellType()
     67            def datamatrix_celldata = df.formatCellValue(sheet.getRow(datamatrix_start).getCell(columnindex))
     68            def datamatrix_cell     = sheet.getRow(datamatrix_start).getCell(columnindex)
     69            def headercell = sheet.getRow(sheet.getFirstRowNum()).getCell(columnindex)
    6570            def tft = TemplateFieldType.STRING //default templatefield type
    6671
    6772            // Check for every celltype, currently redundant code, but possibly this will be
    68             // a piece of custom code for every cell type like specific formatting
     73            // a piece of custom code for every cell type like specific formatting         
    6974               
    7075            switch (datamatrix_celltype) {
     
    8287                            }
    8388
    84                             header[index] = new dbnp.importer.MappingColumn(name:df.formatCellValue(headercell),
     89                            header[columnindex] = new dbnp.importer.MappingColumn(name:df.formatCellValue(headercell),
    8590                                                                            templatefieldtype:fieldtype,
    86                                                                             index:index,
     91                                                                            index:columnindex,
    8792                                                                            entity:theEntity,
    8893                                                                            property:property);
     
    111116                                }
    112117
    113                             if (HSSFDateUtil.isCellDateFormatted(c)) fieldtype = TemplateFieldType.DATE
     118                            if (HSSFDateUtil.isCellDateFormatted(datamatrix_cell)) fieldtype = TemplateFieldType.DATE
    114119                           
    115                             header[index] = new dbnp.importer.MappingColumn(name:df.formatCellValue(headercell),
     120                            header[columnindex] = new dbnp.importer.MappingColumn(name:df.formatCellValue(headercell),
    116121                                                                            templatefieldtype:fieldtype,
    117                                                                             index:index,
     122                                                                            index:columnindex,
    118123                                                                            entity:theEntity,
    119124                                                                            property:property);
    120125                            break
    121126                    case HSSFCell.CELL_TYPE_BLANK:
    122                             header[index] = new dbnp.importer.MappingColumn(name:df.formatCellValue(headercell),
     127                            header[columnindex] = new dbnp.importer.MappingColumn(name:df.formatCellValue(headercell),
    123128                                                                            templatefieldtype:TemplateFieldType.STRING,
    124                                                                             index:index,
     129                                                                            index:columnindex,
    125130                                                                            entity:theEntity,
    126131                                                                            property:property);
    127132                            break
    128133                    default:
    129                             header[index] = new dbnp.importer.MappingColumn(name:df.formatCellValue(headercell),
     134                            header[columnindex] = new dbnp.importer.MappingColumn(name:df.formatCellValue(headercell),
    130135                                                                            templatefieldtype:TemplateFieldType.STRING,
    131                                                                             index:index,
     136                                                                            index:columnindex,
    132137                                                                            entity:theEntity,
    133138                                                                            property:property);
     
    148153     */
    149154
    150     HSSFCell[][] getDatamatrix(HSSFWorkbook wb, int sheetindex, int count) {
     155    HSSFCell[][] getDatamatrix(HSSFWorkbook wb, header, int sheetindex, int count) {
    151156        def sheet = wb.getSheetAt(sheetindex)
    152157        def rows  = []
     
    160165
    161166            // walk through every cell
    162             for (HSSFCell c: sheet.getRow(rowindex))
     167            /*for (HSSFCell c: sheet.getRow(rowindex)) {
    163168                row.add(c)
     169                println c.getColumnIndex() + "=" +c
     170            }*/
     171           
     172            (0..header.size()-1).each { columnindex ->
     173                def c = sheet.getRow(rowindex).getCell(columnindex, org.apache.poi.ss.usermodel.Row.CREATE_NULL_AS_BLANK)
     174                println "DAS " + columnindex + ":" + c
     175                row.add(c)
     176            }
    164177                //row.add(df.formatCellValue(c))
    165178            rows.add(row)
Note: See TracChangeset for help on using the changeset viewer.