Ignore:
Timestamp:
Mar 22, 2011, 1:52:56 PM (12 years ago)
Author:
robert@…
Message:

Solved bug in moving data to trash

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/services/nl/tno/metagenomics/files/ExcelService.groovy

    r7 r20  
    7979               
    8080                for( def rowNum = startRow; rowNum <= endRow; rowNum++ ) {
    81                         ArrayList row = []
    8281                        Row excelRow = sheet.getRow( rowNum );
    8382                       
    84                         for( def colNum = 0; colNum < excelRow.getLastCellNum(); colNum++ ) {
    85                                 Cell c = excelRow.getCell( colNum );
    86                                 if( c ) {
    87                                         if( c.getCellType() == Cell.CELL_TYPE_NUMERIC ) {
    88                                                 row << numberformat.format( c.getNumericCellValue() );
     83                        if( !rowIsEmpty( excelRow ) ) {
     84                                ArrayList row = []
     85                               
     86                                for( def colNum = 0; colNum < excelRow.getLastCellNum(); colNum++ ) {
     87                                        Cell c = excelRow.getCell( colNum );
     88                                        if( c ) {
     89                                                if( c.getCellType() == Cell.CELL_TYPE_NUMERIC ) {
     90                                                        row << numberformat.format( c.getNumericCellValue() );
     91                                                } else {
     92                                                        row << df.formatCellValue( c );
     93                                                }
    8994                                        } else {
    90                                                 row << df.formatCellValue( c );
     95                                                row << ""
    9196                                        }
    92                                 } else {
    93                                         row << ""
     97                                       
    9498                                }
    9599                               
     100                                data << row;
    96101                        }
    97                        
    98                         data << row;
    99102                }
    100103               
     
    200203        }
    201204       
     205       
     206        /**
     207         * Checks whether an excel row is empty
     208         * @param row   Row from the excel sheet
     209         * @return              True if all cells in this row are empty or the given row is null. False otherwise
     210         */
     211        def rowIsEmpty( Row excelRow ) {
     212                if( !excelRow )
     213                        return true;
     214               
     215                def df = new DataFormatter();
     216                for( int i = excelRow.getFirstCellNum(); i < excelRow.getLastCellNum(); i++ ) {
     217                        Cell cell = excelRow.getCell( i );
     218                       
     219                        try {
     220                                def value = df.formatCellValue(cell)
     221                                if( value )
     222                                        return false
     223                        } catch (NumberFormatException nfe) {
     224                                // If the number can't be formatted, the row isn't empty
     225                                return false;
     226                        }
     227                }
     228               
     229                return true;
     230        }
     231
     232       
    202233        /**
    203234         * Return the given workbook for download
Note: See TracChangeset for help on using the changeset viewer.