我有一个使用apache poi读取xls表的应用程序。当单元格有数值时,我通过row.getCell(i).getNumericValue()读取它。但它返回浮点数字。如单元格值为1,则返回1.0。我可以将它转换为int吗?任何帮助,将不胜感激。我试过的Integer.parseInt(值) - 但它引发的NumberFormat exception.Any帮助appreciated.Here是伪代码:在Java中使用Apache POI读取数字单元的整数
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
明白了,取值兼作conert为int:双VAL = cell.getNumericCellValue(); val.intValue将给出答案 – parameswar 2014-09-10 17:39:33
这里有一个简单的解决方案: 'double dval = row.getCell(cellCounter,XSSFRow.CREATE_NULL_AS_BLANK).getNumericCellValue(); (新Double(dval).intValue())。toString());' – 2016-08-19 14:22:11