Example usage for org.apache.poi.ss.usermodel Cell getBooleanCellValue

List of usage examples for org.apache.poi.ss.usermodel Cell getBooleanCellValue

Introduction

In this page you can find the example usage for org.apache.poi.ss.usermodel Cell getBooleanCellValue.

Prototype

boolean getBooleanCellValue();

Source Link

Document

Get the value of the cell as a boolean.

Usage

From source file:org.datanucleus.store.excel.fieldmanager.FetchFieldManager.java

License:Open Source License

protected Object getValueFromCellOfType(Cell cell, Class requiredType, JdbcType jdbcType) {
    if (Date.class.isAssignableFrom(requiredType)) {
        Date date = cell.getDateCellValue();
        if (date == null) {
            return null;
        }/*from  w  w  w .  ja  va 2s . co  m*/

        Object value = date;
        if (requiredType == java.sql.Date.class) {
            value = new java.sql.Date(date.getTime());
        } else if (requiredType == java.sql.Time.class) {
            value = new java.sql.Time(date.getTime());
        } else if (requiredType == java.sql.Timestamp.class) {
            value = new java.sql.Timestamp(date.getTime());
        }
        return value;
    } else if (Calendar.class.isAssignableFrom(requiredType)) {
        Date date = cell.getDateCellValue();
        if (date == null) {
            return null;
        }

        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        return cal;
    } else if (Boolean.class.isAssignableFrom(requiredType)) {
        boolean boolValue = cell.getBooleanCellValue();
        return Boolean.valueOf(boolValue);
    } else if (Character.class.isAssignableFrom(requiredType)) {
        String strValue = cell.getRichStringCellValue().getString();
        return Character.valueOf(strValue.charAt(0));
    } else if (Number.class.isAssignableFrom(requiredType)) {
        double val = cell.getNumericCellValue();
        if (Double.class.isAssignableFrom(requiredType)) {
            return Double.valueOf(val);
        } else if (Float.class.isAssignableFrom(requiredType)) {
            return Float.valueOf((float) val);
        } else if (Integer.class.isAssignableFrom(requiredType)) {
            return Integer.valueOf((int) val);
        } else if (Long.class.isAssignableFrom(requiredType)) {
            return Long.valueOf((long) val);
        } else if (Short.class.isAssignableFrom(requiredType)) {
            return Short.valueOf((short) val);
        } else if (Byte.class.isAssignableFrom(requiredType)) {
            return Byte.valueOf((byte) val);
        } else if (BigDecimal.class.isAssignableFrom(requiredType)) {
            return new BigDecimal(val);
        } else if (BigInteger.class.isAssignableFrom(requiredType)) {
            return new BigInteger("" + val);
        }
    } else if (Enum.class.isAssignableFrom(requiredType)) {
        if (MetaDataUtils.isJdbcTypeNumeric(jdbcType)) {
            double value = cell.getNumericCellValue();
            return requiredType.getEnumConstants()[(int) value];
        }

        String value = cell.getRichStringCellValue().getString();
        if (value != null && value.length() > 0) {
            return Enum.valueOf(requiredType, value);
        }

        return null;
    } else if (requiredType == byte[].class) {
        String value = cell.getStringCellValue();
        if (value != null) {
            return Base64.decode(value);
        }
    }

    // Fallback to String/Long TypeConverters
    if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
        TypeConverter longConv = ec.getNucleusContext().getTypeManager().getTypeConverterForType(requiredType,
                Long.class);
        return longConv.toMemberType((long) cell.getNumericCellValue());
    } else if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
        TypeConverter strConv = ec.getNucleusContext().getTypeManager().getTypeConverterForType(requiredType,
                String.class);
        String cellValue = (cell.getRichStringCellValue() != null ? cell.getRichStringCellValue().getString()
                : null);
        if (cellValue != null && cellValue.length() > 0) {
            return strConv.toMemberType(cell.getRichStringCellValue().getString());
        }
    }

    // Not supported as String so just set to null
    NucleusLogger.PERSISTENCE.warn("Field could not be set in the object since it is not persistable to Excel");
    return null;
}

From source file:org.dbflute.helper.io.xls.DfTableXlsReader.java

License:Apache License

protected Object extractCellValue(DfDataTable table, int columnIndex, Row row, Cell cell) {
    if (cell == null) {
        return isEmptyStringTarget(table, columnIndex) ? "" : null;
    }/*from ww  w  .  ja v a2 s . c  om*/
    switch (cell.getCellType()) {
    case Cell.CELL_TYPE_NUMERIC:
        if (isCellDateFormatted(cell)) {
            return DfTypeUtil.toTimestamp(cell.getDateCellValue());
        }
        final double numericCellValue = cell.getNumericCellValue();
        if (isInt(numericCellValue)) {
            return new BigDecimal((int) numericCellValue);
        }
        return new BigDecimal(Double.toString(numericCellValue));
    case Cell.CELL_TYPE_STRING:
        return processRichStringCellValue(table, columnIndex, row, cell);
    case Cell.CELL_TYPE_BOOLEAN:
        boolean b = cell.getBooleanCellValue();
        return Boolean.valueOf(b);
    default:
        return isEmptyStringTarget(table, columnIndex) ? "" : null;
    }
}

From source file:org.dbunit.dataset.excel.MyXlsTable.java

License:Open Source License

public Object getValue(int row, String column) throws DataSetException {
    if (logger.isDebugEnabled())
        logger.debug("getValue(row={}, columnName={}) - start", Integer.toString(row), column);

    assertValidRowIndex(row);/*w ww .  j a v  a 2  s .c o m*/

    int columnIndex = getColumnIndex(column);
    Row rowObject = _sheet.getRow(row + 1);
    if (rowObject == null) {
        return null;
    }
    Cell cell = rowObject.getCell(columnIndex);
    if (cell == null) {
        return null;
    }

    int type = cell.getCellType();
    switch (type) {
    case Cell.CELL_TYPE_NUMERIC:
        CellStyle style = cell.getCellStyle();
        if (DateUtil.isCellDateFormatted(cell)) {
            return getDateValue(cell);
        } else if (XlsDataSetWriter.DATE_FORMAT_AS_NUMBER_DBUNIT.equals(style.getDataFormatString())) {
            // The special dbunit date format
            return getDateValueFromJavaNumber(cell);
        } else {
            return getNumericValue(cell);
        }

    case Cell.CELL_TYPE_STRING:
        return cell.getRichStringCellValue().getString();

    case Cell.CELL_TYPE_FORMULA:
        throw new DataTypeException("Formula not supported at row=" + row + ", column=" + column);

    case Cell.CELL_TYPE_BLANK:
        return null;

    case Cell.CELL_TYPE_BOOLEAN:
        return cell.getBooleanCellValue() ? Boolean.TRUE : Boolean.FALSE;

    case Cell.CELL_TYPE_ERROR:
        throw new DataTypeException("Error at row=" + row + ", column=" + column);

    default:
        throw new DataTypeException("Unsupported type at row=" + row + ", column=" + column);
    }
}

From source file:org.diffkit.diff.sns.DKPoiSheet.java

License:Apache License

private static Object readCell(Cell cell_, Type type_) {
    if (IS_DEBUG_ENABLED) {
        LOG.debug("cell_->{}", cell_ == null ? null : cell_);
        LOG.debug("type_->{}", type_);
    }//  w w  w .j  ava 2  s. c  o m
    if ((cell_ == null) || (type_ == null))
        return null;
    try {
        if (cell_.getCellType() == Cell.CELL_TYPE_BLANK)
            return null;
        switch (type_) {
        case STRING:
            return cell_.toString();
        case DATE:
            return cell_.getDateCellValue();
        case DECIMAL:
            return new BigDecimal(cell_.toString());
        case INTEGER:
            return new Long(new Double(cell_.getNumericCellValue()).longValue());
        case REAL:
            return new Double(cell_.getNumericCellValue());
        case BOOLEAN:
            return Boolean.valueOf(cell_.getBooleanCellValue());
        case TIME:
            return readTime(cell_);
        case TIMESTAMP:
            return readTimestamp(cell_);
        case MIXED:
            return cell_.toString();
        default:
            return cell_.toString();
        }
    } catch (Exception e_) {
        String message = String.format("unable to read cell_->%s type_->%s", cell_, type_);
        throw new RuntimeException(message, e_);
    }
}

From source file:org.drools.decisiontable.parser.xls.ExcelParser.java

License:Apache License

private String tryToReadCachedValue(Cell cell) {
    DataFormatter formatter = new DataFormatter(Locale.ENGLISH);
    String cachedValue;/*from  w  w w  .j av  a2  s. c  o  m*/
    switch (cell.getCachedFormulaResultType()) {
    case Cell.CELL_TYPE_NUMERIC:
        double num = cell.getNumericCellValue();
        if (num - Math.round(num) != 0) {
            cachedValue = String.valueOf(num);
        } else {
            cachedValue = formatter.formatCellValue(cell);
        }
        break;

    case Cell.CELL_TYPE_STRING:
        cachedValue = cell.getStringCellValue();
        break;

    case Cell.CELL_TYPE_BOOLEAN:
        cachedValue = String.valueOf(cell.getBooleanCellValue());
        break;

    case Cell.CELL_TYPE_ERROR:
        cachedValue = String.valueOf(cell.getErrorCellValue());
        break;

    default:
        throw new DecisionTableParseException(
                format("Can't read cached value for cell[row=%d, col=%d, value=%s]!", cell.getRowIndex(),
                        cell.getColumnIndex(), cell));
    }
    return cachedValue;
}

From source file:org.drools.scorecards.parser.xls.XLSScorecardParser.java

License:Apache License

private void processSheet(HSSFSheet worksheet) throws ScorecardParseException {
    for (Row row : worksheet) {
        int currentRowCtr = row.getRowNum();
        excelDataCollector.newRow(currentRowCtr);
        for (Cell cell : row) {
            int currentColCtr = cell.getColumnIndex();
            switch (cell.getCellType()) {
            case Cell.CELL_TYPE_STRING:
                excelDataCollector.newCell(currentRowCtr, currentColCtr, cell.getStringCellValue());
                break;
            case Cell.CELL_TYPE_NUMERIC:
                if (DateUtil.isCellDateFormatted(cell)) {
                    excelDataCollector.newCell(currentRowCtr, currentColCtr, cell.getDateCellValue());
                } else {
                    excelDataCollector.newCell(currentRowCtr, currentColCtr,
                            Double.valueOf(cell.getNumericCellValue()));
                }/*  www  . ja  v  a2s.com*/
                break;
            case Cell.CELL_TYPE_BOOLEAN:
                excelDataCollector.newCell(currentRowCtr, currentColCtr,
                        Boolean.valueOf(cell.getBooleanCellValue()).toString());
                break;
            case Cell.CELL_TYPE_FORMULA:
                break;
            case Cell.CELL_TYPE_BLANK:
                excelDataCollector.newCell(currentRowCtr, currentColCtr, "");
                break;
            }
        }
    }
}

From source file:org.easybatch.extensions.msexcel.MsExcelRecord.java

License:Open Source License

private String dump(Row row) {
    StringBuilder stringBuilder = new StringBuilder();
    short lastCellNum = row.getLastCellNum();
    for (int i = 0; i < lastCellNum; i++) {
        Cell cell = row.getCell(i);
        stringBuilder.append("\"");
        switch (cell.getCellType()) {
        case Cell.CELL_TYPE_BOOLEAN:
            stringBuilder.append(cell.getBooleanCellValue());
            break;
        case Cell.CELL_TYPE_NUMERIC:
            stringBuilder.append(cell.getNumericCellValue());
            break;
        case Cell.CELL_TYPE_STRING:
            stringBuilder.append(cell.getStringCellValue());
            break;
        case Cell.CELL_TYPE_BLANK:
            stringBuilder.append("");
            break;
        }/*www  .j  a  v  a2 s .c  om*/
        stringBuilder.append("\"");
        if (i < lastCellNum - 1) {
            stringBuilder.append(",");
        }
    }

    return stringBuilder.toString();
}

From source file:org.easybatch.extensions.msexcel.MsExcelRecordMapper.java

License:Open Source License

private String getCellValue(Cell cell) {
    switch (cell.getCellType()) {
    case Cell.CELL_TYPE_BOOLEAN:
        return String.valueOf(cell.getBooleanCellValue());
    case Cell.CELL_TYPE_NUMERIC:
        return String.valueOf(cell.getNumericCellValue());
    case Cell.CELL_TYPE_STRING:
        return cell.getStringCellValue();
    }//from  w  w w  . ja v  a2s.  c  o  m
    return "";
}

From source file:org.easybatch.extensions.msexcel.MsExcelRecordWriter.java

License:Open Source License

private void setValue(XSSFCell cell, Cell next) {
    switch (next.getCellType()) {
    case Cell.CELL_TYPE_BOOLEAN:
        cell.setCellValue(next.getBooleanCellValue());
        cell.setCellType(Cell.CELL_TYPE_BOOLEAN);
        break;//from   ww  w.  j  a v  a 2s  .  co m
    case Cell.CELL_TYPE_NUMERIC:
        cell.setCellValue(next.getNumericCellValue());
        cell.setCellType(Cell.CELL_TYPE_NUMERIC);
        break;
    case Cell.CELL_TYPE_STRING:
        cell.setCellValue(next.getStringCellValue());
        cell.setCellType(Cell.CELL_TYPE_STRING);
        break;
    case Cell.CELL_TYPE_FORMULA:
        cell.setCellValue(next.getCellFormula());
        cell.setCellType(Cell.CELL_TYPE_FORMULA);
        break;
    }
}

From source file:org.eclipse.birt.report.data.oda.excel.impl.util.ExcelFileReader.java

License:Open Source License

private String resolveFormula(Cell cell) {
    if (formulaEvaluator == null)
        return cell.toString();
    switch (formulaEvaluator.evaluateFormulaCell(cell)) {
    case Cell.CELL_TYPE_BOOLEAN:
        return ((Boolean) cell.getBooleanCellValue()).toString();

    case Cell.CELL_TYPE_NUMERIC:
        if (org.apache.poi.ss.usermodel.DateUtil.isCellDateFormatted(cell)) {
            //need to check for nulls
            //double myexdate = org.apache.poi.ss.usermodel.DateUtil.getExcelDate(cell.getDateCellValue());
            Date myjavadate = org.apache.poi.ss.usermodel.DateUtil.getJavaDate(cell.getNumericCellValue());
            return sdf.format(myjavadate);
        }/*from  www .j a v  a  2 s  .co m*/
        return ((Double) cell.getNumericCellValue()).toString();

    case Cell.CELL_TYPE_STRING:
        return cell.getStringCellValue();

    default:
        return null;
    }
}