SociopathicPixel commented on a change in pull request #230: dev/add datatypes to excel columns URL: https://github.com/apache/metamodel/pull/230#discussion_r329496398
########## File path: excel/src/main/java/org/apache/metamodel/excel/DefaultSpreadsheetReaderDelegate.java ########## @@ -167,50 +167,109 @@ private MutableTable createTable(final Workbook wb, final Sheet sheet) { break; } } - if (hasColumns) { - createColumns(table, wb, row); + createColumns(table, wb, row, columnTypes); } } - return table; } + private ColumnType[] getColumnTypes(final Sheet sheet, final Row row) { + final Iterator<Row> data = ExcelUtils.getRowIterator(sheet, _configuration, false); + final int rowLength = row.getLastCellNum(); + int eagerness = 1000; + final ColumnType[] columnTypes = new ColumnType[rowLength]; + + while (data.hasNext() && eagerness-- > 0) { + Row currentRow = data.next(); + for (int index = 0; index < rowLength; index++) { + if (currentRow.getLastCellNum() == 0) { + continue; + } + if (currentRow.getCell(index) == null) { Review comment: Extracted the method: ```getColumnTypeFromRow(final ColumnType columnType, final Row currentRow, int index)``` from lines 189 through 218. I haven't moved the logic of ```checkColumnTypes(final ColumnType expecetedColumnType, ColumnType columnType)``` to ```getColumnTypeFromRow(final ColumnType columnType, final Row currentRow, int index)``` cause it gets used multiple times. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services