List of usage examples for org.apache.poi.ss.usermodel Cell getBooleanCellValue
boolean getBooleanCellValue();
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; } }