本文整理汇总了Java中org.apache.poi.ss.usermodel.Cell.CELL_TYPE_FORMULA属性的典型用法代码示例。如果您正苦于以下问题:Java Cell.CELL_TYPE_FORMULA属性的具体用法?Java Cell.CELL_TYPE_FORMULA怎么用?Java Cell.CELL_TYPE_FORMULA使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.apache.poi.ss.usermodel.Cell
的用法示例。
在下文中一共展示了Cell.CELL_TYPE_FORMULA属性的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getNativeValueType
@Override
public ValueType getNativeValueType(int columnIndex) throws ParseException {
Cell cell = getCurrentCell(columnIndex);
final int type = cell.getCellType();
if (type == Cell.CELL_TYPE_BLANK) {
return ValueType.EMPTY;
} else if (type == Cell.CELL_TYPE_STRING) {
return ValueType.STRING;
} else if (type == Cell.CELL_TYPE_NUMERIC) {
if (DateUtil.isCellDateFormatted(cell)) {
return ValueType.DATE;
} else {
return ValueType.NUMBER;
}
} else if (type == Cell.CELL_TYPE_FORMULA) {
if (cell.getCachedFormulaResultType() == Cell.CELL_TYPE_NUMERIC) {
return ValueType.NUMBER;
} else {
return ValueType.STRING;
}
} else {
return ValueType.STRING;
}
}
示例2: objectFrom
private Object objectFrom(final HSSFWorkbook workbook, final Cell cell) {
Object cellValue = null;
if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
cellValue = cell.getRichStringCellValue().getString();
} else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
cellValue = getNumericCellValue(cell);
} else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
cellValue = cell.getBooleanCellValue();
} else if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
cellValue = evaluateCellFormula(workbook, cell);
}
return cellValue;
}
示例3: isBlankRow
/**
* 判断空行
*/
private static boolean isBlankRow(Row row) {
if (row == null) {
return true;
}
boolean result = true;
Iterator<Cell> cells = row.cellIterator();
String value = "";
while (cells.hasNext()) {
Cell cell = cells.next();
int cellType = cell.getCellType();
switch (cellType) {
case Cell.CELL_TYPE_NUMERIC:
value = String.valueOf(cell.getNumericCellValue());
break;
case Cell.CELL_TYPE_STRING:
value = cell.getStringCellValue();
break;
case Cell.CELL_TYPE_BOOLEAN:
value = String.valueOf(cell.getBooleanCellValue());
break;
case Cell.CELL_TYPE_FORMULA:
value = String.valueOf(cell.getCellFormula());
break;
}
if (StringUtils.isNotBlank(value)) {
result = false;
break;
}
}
return result;
}
示例4: intercepterCellValue
public void intercepterCellValue(Cell cell, CellWrapper cellWrapper, String interceptor) throws Exception {
if (cell == null) {
cellWrapper.setValue(null);
} else {
int cellType = cell.getCellType();
switch (cellType) {
case Cell.CELL_TYPE_BLANK:
cellWrapper.setValue(null);
break;
case Cell.CELL_TYPE_BOOLEAN:
cellWrapper.setValue(Boolean.valueOf(cell.getBooleanCellValue()));
break;
case Cell.CELL_TYPE_ERROR:
cellWrapper.setValue(cell.getErrorCellValue());
break;
case Cell.CELL_TYPE_FORMULA:
cellWrapper.setValue(cell.getCellFormula());
break;
case Cell.CELL_TYPE_NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
Date date = cell.getDateCellValue();
cellWrapper.setValue(date);
} else {
cellWrapper.setValue(cell.getNumericCellValue());
}
break;
case Cell.CELL_TYPE_STRING:
cellWrapper.setValue(cell.getStringCellValue());
break;
}
}
logger.debug("before interceptor column number[" + cellWrapper.getColumn() + "] cell value[" + cellWrapper.getValue() + "] cell intercepter[" + interceptor + "]");
this.intercepterCellValue(cellWrapper, interceptor);
logger.debug("after interceptor cell value[" + cellWrapper.getValue() + "]");
}
示例5: getCellValue
/**
* 获取单元格值
*
* @param row 获取的行
* @param column 获取单元格列号
* @return 单元格值
*/
public Object getCellValue(Row row, int column) {
Object val = "";
try {
Cell cell = row.getCell(column);
if (cell != null) {
if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
// val = cell.getNumericCellValue();
// 当excel 中的数据为数值或日期是需要特殊处理
if (HSSFDateUtil.isCellDateFormatted(cell)) {
double d = cell.getNumericCellValue();
Date date = HSSFDateUtil.getJavaDate(d);
SimpleDateFormat dformat = new SimpleDateFormat(
"yyyy-MM-dd");
val = dformat.format(date);
} else {
NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);// true时的格式:1,234,567,890
val = nf.format(cell.getNumericCellValue());// 数值类型的数据为double,所以需要转换一下
}
} else if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
val = cell.getStringCellValue();
} else if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
val = cell.getCellFormula();
} else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
val = cell.getBooleanCellValue();
} else if (cell.getCellType() == Cell.CELL_TYPE_ERROR) {
val = cell.getErrorCellValue();
}
}
} catch (Exception e) {
return val;
}
return val;
}
示例6: getCellType
private int getCellType(Cell cell) {
int vType = cell.getCellType();
if (vType == Cell.CELL_TYPE_FORMULA) {
// 获取公式类型
vType = cell.getCachedFormulaResultType();
}
return vType;
}
示例7: getValue
@SuppressWarnings("deprecation")
private Object getValue(Cell raw, String fieldType) throws CellParsingException {
switch (raw.getCellType()) {
case Cell.CELL_TYPE_BOOLEAN:
return raw.getBooleanCellValue();
case Cell.CELL_TYPE_STRING: {
String s = raw.getStringCellValue();
String boolString = s.toLowerCase();
if (boolString.equals("yes"))
return true;
if (boolString.equals("no"))
return false;
return s;
}
case Cell.CELL_TYPE_NUMERIC:
if (DateUtil.isCellDateFormatted(raw)) {
Date date = raw.getDateCellValue();
return LocalDate.of(date.getYear() + 1900, date.getMonth() + 1, date.getDate());
}
return (int) raw.getNumericCellValue();
// formula parsing doesnot work
// can be done using FormulaEvaluater
case Cell.CELL_TYPE_FORMULA:
return true;
case Cell.CELL_TYPE_BLANK: {
return getInstance(fieldType);
}
}
return null;
}
示例8: getCellFormatValue
/**
* 根据HSSFCell类型设置数据(简单导入使用)
*
* @param cell 单元格
* @return 处理后的值
*/
private static String getCellFormatValue(Cell cell) {
String cellValue;
if (cell != null) {
// 判断当前Cell的Type
switch (cell.getCellType()) {
// 如果当前Cell的Type为NUMERIC
case Cell.CELL_TYPE_NUMERIC:
case Cell.CELL_TYPE_FORMULA: {
// 判断当前的cell是否为Date
if (DateUtil.isCellDateFormatted(cell)) {
// 如果是Date类型则,转化为Data格式
Date date = cell.getDateCellValue();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
cellValue = sdf.format(date);
}
// 如果是纯数字
else {
//避免科学计数
java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
nf.setGroupingUsed(false);
// 取得当前Cell的数值
cellValue = String.valueOf(nf.format(cell.getNumericCellValue()));
}
break;
}
// 如果当前Cell的Type为STRING
case Cell.CELL_TYPE_STRING:
// 取得当前的Cell字符串
cellValue = cell.getStringCellValue();
break;
// 默认的Cell值
default:
cellValue = " ";
}
} else {
cellValue = "";
}
return cellValue;
}
示例9: setCellValue
protected void setCellValue(String cellName, String value,boolean notifyUpdate)
{
boolean isNumeric = GeneralUtil.isNumeric(value);
CellData cellData = getCellDataByCellName(cellName);
if(cellData.cell == null)
cellData.cell = createCellBlank(cellName);
//si es una formula cambio el tipo de celda para setear un numero
//es el caso de las celdas mixtas que pueden ser formula o un valor ingresado por el usuario
if (cellData.cell.getCellType() == Cell.CELL_TYPE_FORMULA)
{
// System.out.println("cell : " + cellName);
// System.out.println("value : " + cellName);
if(isNumeric)
{
cellData.cell.setCellType(Cell.CELL_TYPE_NUMERIC);
}
else
{
cellData.cell.setCellType(Cell.CELL_TYPE_STRING);
}
}
if(isNumeric)
{
cellData.cell.setCellValue(Double.parseDouble(value));
}
else
{
cellData.cell.setCellValue(value);
}
if(notifyUpdate)
{
this.notifyUpdateCell(cellData);
}
}
示例10: getCellValue
private CellData getCellValue(CellData cellData)
{
//CellData cellData = new CellData();
if(cellData.cell != null)
{
// evaluator.evaluateFormulaCell(cell);
int cellTypeEvaluator = cellData.workBookObject.evaluator.evaluateFormulaCell(cellData.cell);
int cellType = cellTypeEvaluator > -1 ? cellTypeEvaluator : cellData.cell
.getCellType();
switch (cellType)
{
case Cell.CELL_TYPE_BLANK:
// cellData.put("type",HSSFCell.CELL_TYPE_BLANK);
cellData.value = cellData.cell.getStringCellValue();
break;
case Cell.CELL_TYPE_NUMERIC:
// cellData.put("type",HSSFCell.CELL_TYPE_NUMERIC);
cellData.value = Double.toString(cellData.cell.getNumericCellValue());
break;
case Cell.CELL_TYPE_STRING:
// cellData.put("type",HSSFCell.CELL_TYPE_STRING);
cellData.value = cellData.cell.getStringCellValue();
break;
case Cell.CELL_TYPE_ERROR:
cellData.error = FormulaError.forInt(cellData.cell.getErrorCellValue()).name();
cellData.value = "ERROR";
break;
case Cell.CELL_TYPE_FORMULA:
// cellData.put("type", HSSFCell.CELL_TYPE_ERROR);
cellData.value = cellData.cell.getCellFormula();
break;
default:
// cellData.put("type",HSSFCell.CELL_TYPE_STRING);
cellData.value = cellData.cell.getCellStyle().getDataFormatString();
}
// si la celda es pocentaje multiplico por 100
if (cellData.cell.getCellStyle().getDataFormatString().contains("%")
&& cellType == Cell.CELL_TYPE_NUMERIC)
{
Double perceValue = Double.parseDouble(cellData.value) * 100;
cellData.value = perceValue.toString();
}
}
else
{
cellData.value = null;
}
return cellData;
}