簡體   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