public static Object getCellValue(HSSFCell cell) {
Object value = "";
if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
value = cell.getRichStringCellValue().toString();
} else if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
if (HSSFDateUtil.isCellDateFormatted(cell)) {
Date date = (Date) cell.getDateCellValue();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
value = sdf.format(date);
} else {
try {
String c = cell.getCellStyle().getDataFormatString();
if (c.contains("0;")) {
c = "0";
}else if (c.contains("0.000")) {
c = "0.000";
} else if (c.contains("0.00")) {
c = "0.00";
} else if (c.contains("0.0")) {
c = "0.0";
} else if (c.equals("General")) {
c = "0";
} else if (c.contains("GENERAL")) {
c = "0";
} else if (c.contains("0_")) { // 0_);[Red]\(0\) // 0_);[RED]\(0\)
c = "0";
} else if (c.equals("0")) {
c = "0";
}
value=cell.getNumericCellValue();
if((value.toString()).contains(".")){
DecimalFormat format = new DecimalFormat(c);
value = format.format(cell.getNumericCellValue());
}
} catch (Exception e) {
DecimalFormat format = new DecimalFormat("#0.#");
value = format.format(cell.getNumericCellValue());
}
}
}
else if (cell.getCellType() == HSSFCell.CELL_TYPE_BLANK) {
value = "";
}
else if (cell.getCellType() == HSSFCell.CELL_TYPE_FORMULA) {
try {
value = String.valueOf(cell.getStringCellValue());
} catch (IllegalStateException e) {
FormulaEvaluator evaluator = cell.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
evaluator.evaluateFormulaCell(cell);
CellValue cellValue = evaluator.evaluate(cell);
double va= cellValue.getNumberValue();
DecimalFormat format = new DecimalFormat("#0");
value = format.format(va);
}
}
else if (cell.getCellType() == HSSFCell.CELL_TYPE_ERROR) {
value = "";
}
return value;
}
POI获取单元格值
最新推荐文章于 2024-07-05 14:30:10 发布