У меня есть приложение, которое читает лист xls с помощью apache poi. Когда ячейка имеет числовое значение, я читаю ее с помощью row.getCell(i).getNumericValue(). Но он возвращает цифру с плавающей запятой. например, если значение ячейки равно 1, оно возвращает 1,0. Могу ли я преобразовать его в int? Любая помощь приветствуется. Я пробовал Integer.parseInt(значение) - но он выдает исключение 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());
- person Mike Preston   schedule 19.08.2016