如何解析word文件中的公式內容
阿新 • • 發佈:2019-01-03
問題:這裡講的就是如何對解析後的excel進行資料的處理,此處對公式的處理
如圖,
所以此處在後臺解析出來的是公式,後臺程式碼需要進行處理:
import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; /** * 得到Excel表中的值 * * @param cell Excel中的每一個格子 * @return Excel中每一個格子中的值 */ private static String getValue(Cell cell) { String value = null; switch (cell.getCellTypeEnum()) { case FORMULA: //公式 try { value = String.valueOf(cell.getNumericCellValue()); } catch (IllegalStateException e) { value = String.valueOf(cell.getRichStringCellValue()); } break; case NUMERIC: //數值 value = String.valueOf(cell.getNumericCellValue()); break; case STRING: //字串 value = String.valueOf(cell.getRichStringCellValue()); break; case BLANK: //空白值 break; case BOOLEAN: //Boolean value = String.valueOf(cell.getBooleanCellValue()); break; case ERROR: break; case _NONE: break; default: break; } value = switchNumeric(value); return value; } private static String switchNumeric(String str) { if (str.indexOf(".") > 0) { str = str.replaceAll("0+?$", "").replaceAll("[.]$", ""); } return str; }
如果上面的switch 中的case 字串報錯,可能需要你使用JDK1.8或者更高版本的JDK。