private static Map<String, Point> getAbsoluteSpreadsheetFieldCoordinates(SpreadsheetResult spreadsheetResult) { Map<String, Point> absoluteCoordinates = new HashMap<String, Point>(); IGridTable sourceTable = spreadsheetResult.getLogicalTable().getSource(); String[] rowNames = spreadsheetResult.getRowNames(); String[] columnNames = spreadsheetResult.getColumnNames(); for (int i = 0; i < rowNames.length; i++) { for (int j = 0; j < columnNames.length; j++) { int column = getColumn(sourceTable, j); int row = getRow(sourceTable, i); ICell cell = sourceTable.getCell(column, row); Point absolute = new Point(cell.getAbsoluteColumn(), cell.getAbsoluteRow()); StringBuilder sb = new StringBuilder(); sb.append(SpreadsheetStructureBuilder.DOLLAR_SIGN) .append(columnNames[j]) .append(SpreadsheetStructureBuilder.DOLLAR_SIGN) .append(rowNames[i]); absoluteCoordinates.put(sb.toString(), absolute); } } return absoluteCoordinates; }
private boolean anyNestedValueInRow(SpreadsheetResult spreadsheetResult, int row) { List<ColumnToExtract> compoundColumns = conf.getCompoundColumnsToExtract(currentNestingLevel); for (ColumnToExtract column : compoundColumns) { int columnIndex = SpreadsheetResultHelper.getColumnIndexByName(column.getColumnName(), spreadsheetResult.getColumnNames()); Object valueInColumn = spreadsheetResult.getValue(row, columnIndex); if (containsNested(valueInColumn)) { return true; } } return false; }
private boolean anyNestedValueInRow(SpreadsheetResult spreadsheetResult, int row) { List<ColumnToExtract> compoundColumns = conf.getCompoundColumnsToExtract(currentNestingLevel); for (ColumnToExtract column : compoundColumns) { int columnIndex = SpreadsheetResultHelper.getColumnIndexByName(column.getColumnName(), spreadsheetResult.getColumnNames()); Object valueInColumn = spreadsheetResult.getValue(row, columnIndex); if (containsNested(valueInColumn)) { return true; } } return false; }
spreadsheetResult.getColumnNames()); if (columnIndex >= 0){ compoundColumns.add(column); for (ColumnToExtract column : compoundColumns) { int columnIndex = SpreadsheetResultHelper.getColumnIndexByName(column.getColumnName(), spreadsheetResult.getColumnNames()); Object valueInColumn = spreadsheetResult.getValue(row, columnIndex); if (valueIsNested(valueInColumn)) { spreadsheetResult.getColumnNames()); Object valueInColumn = spreadsheetResult.getValue(row, columnIndex); if (!isNestedRow && minNestedPriority > 0 && minNestedPriority == column.getNestedPriority() && valueIsNested(valueInColumn)) {
/** * Extract the given row from the given spreadsheet result and populates the * row instance see {@link #makeRowInstance()} * * @param spreadsheetResult from which the row will be extracted * @param rowIndex index of the row for extraction * * @return populated row instance with data from spreadsheet row. */ public T extract(SpreadsheetResult spreadsheetResult, int rowIndex) { T rowInstance = makeRowInstance(); for (SpreadsheetColumnExtractor<T> extractor : columnExtractors) { String columnName = extractor.getColumn().getColumnName(); int columnIndex = SpreadsheetResultHelper.getColumnIndexByName(columnName, spreadsheetResult.getColumnNames()); Object columnValue = spreadsheetResult.getValue(rowIndex, columnIndex); if (isSuitableValue(columnValue)) { extractor.convertAndStoreData(columnValue, rowInstance); } } // additional processing for the extracted row // afterExtract(rowInstance); return rowInstance; }
/** * Extract the given row from the given spreadsheet result and populates the row * instance see {@link #makeRowInstance()} * * @param spreadsheetResult from which the row will be extracted * @param rowIndex index of the row for extraction * * @return populated row instance with data from spreadsheet row. */ public T extract(SpreadsheetResult spreadsheetResult, int rowIndex) { T rowInstance = makeRowInstance(); for (SpreadsheetColumnExtractor<T> extractor : columnExtractors) { String columnName = extractor.getColumn().getColumnName(); int columnIndex = SpreadsheetResultHelper.getColumnIndexByName(columnName, spreadsheetResult.getColumnNames()); Object columnValue = spreadsheetResult.getValue(rowIndex, columnIndex); if (isSuitableValue(columnValue)) { extractor.convertAndStoreData(columnValue, rowInstance); } } // additional processing for the extracted row // afterExtract(rowInstance); return rowInstance; }
SpreadsheetResult spr = convertationMetadata.getSpreadsheetResult(); spreadsheetResult = new SpreadsheetResult(); spreadsheetResult.setColumnNames(spr.getColumnNames()); spreadsheetResult.setRowNames(spr.getRowNames()); result = new Object[spr.getHeight()][spr.getWidth()];
String columnName = extractor.getColumn().getColumnName(); int columnIndex = SpreadsheetResultHelper.getColumnIndexByName(columnName, spreadsheetResult.getColumnNames()); Object columnValue = spreadsheetResult.getValue(rowIndex, columnIndex); Object v = extractor.convertAndStoreData(columnValue, rowInstance);