我有一个应用程序,使用Apache POI读取xls表格。当单元格具有数字值时,我使用row.getCell(i).getNumericValue()进行读取。但它返回浮点数。例如,如果单元格的值为1,则返回1.0。我能将其转换为整数吗?任何帮助都将不胜感激。我尝试了Integer.parseInt(value)-但它会抛出NumberFormat异常。以下是伪代码:
FileInputStream file = new FileInputStream(new File("C:\\test.xls"));
HSSFWorkbook workbook = new HSSFWorkbook(file);
HSSFSheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
while(rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch(cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
String value= String.valueOf(cell.getNumericCellValue());
int intVal = Integer.parseInt(value)-->>throws Exception
double dval = row.getCell(cellCounter, XSSFRow.CREATE_NULL_AS_BLANK ).getNumericCellValue(); System.out.println(new Integer(new Double(dval).intValue()).toString());
- Mike Preston