如何在Java中读取来自Excel的input?
需要使用Apache POI从Java中的Excel中提取“120%”的值。 我尝试使用CELL_TYPE_NUMERIC和CELL_TYPE_STRING失败,结果是1.2而不是120%。
N:在120%的作品前使用撇号('),但请提出另一个解决方法
if(row.getCell(j)!=null) { if(row.getCell(j).getCellType() ==row.getCell(j).CELL_TYPE_NUMERIC) { System.out.print(row.getCell(j).toString()); } else if(row.getCell(j).getCellType() == row.getCell(j).CELL_TYPE_STRING) strCellValue ==System.out.print(row.getCell(j).toString()); } } else System.out.print("null")
你可以尝试这样的事情:
if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) { if (cell.getCellStyle().getDataFormatString().contains("%")) { // Detect Percent Values Double value = cell.getNumericCellValue() * 100; System.out.println("Percent value = " + value.toString() +"%"); } else { Double value = cell.getNumericCellValue(); System.out.println("Non percent value = " + value.toString()); } }
在检查types之后,您需要根据types检索值:
if (cell.getCellType() == Cell.CELL_TYPE_STRING) { String value = cell.getStringCellValue(); }
只要调用toString()不会工作。 你的代码应该是这样的:
if (row.getCell(j).getCellType() == row.getCell(j).CELL_TYPE_NUMERIC) { System.out.print(row.getCell(j).getNumericCellValue() } else if (row.getCell(j).getCellType() == row.getCell(j).CELL_TYPE_STRING) { strCellValue = row.getCell(j).getStringCellValue(); }