繁体   English   中英

java - 无法从 STRING 单元格异常中获取 NUMERIC 值

[英]java - Cannot get a NUMERIC value from a STRING cell Exception

我目前正在掌握使用 Apache POI 的窍门,我目前正在尝试导入 .xlsx 并将其存储到 ArrayList 中,但问题是我似乎收到了一个异常错误,提示“无法从一个 STRING 单元格”。 这是专门的消息。

错误

我很确定单元格的值有一个 NUMERIC 值。

    private void AddButtonActionPerformed(java.awt.event.ActionEvent evt) {                                          
    FileNameExtensionFilter filter = new FileNameExtensionFilter("Excel file","xlsx", "xls"); 
    final JFileChooser fc = new JFileChooser();
    fc.setFileFilter(filter);
    fc.setDialogTitle("Excel file selector");
    int returnVal = fc.showOpenDialog(mainMenuPanel);
    if (returnVal == JFileChooser.APPROVE_OPTION){
        jDialogaddItem.setVisible(true);
        try{
            ArrayList<Item> itemList2 = new ArrayList<>();
            Item item2;
            String filepath = fc.getSelectedFile().getAbsolutePath();
            XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(filepath));
            XSSFSheet sheet = wb.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();                
                    item2 = new Item(cell.getStringCellValue(),cell.getStringCellValue(),cell.getStringCellValue(),cell.getStringCellValue(), (int)cell.getNumericCellValue());
                    itemList2.add(item2);    
                }
            }
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
    }
}         

我的excel文件是这样的

Excel文件

将其作为字符串获取并进行转换:

Integer.valueOf(cell.getStringCellValue())

否则在 excel 中,您应该使用数字格式的单元格

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM