Использование pache poi 4.1.0 дает множественную ошибку - PullRequest
0 голосов
/ 21 апреля 2019

Я создаю код для чтения файла Excel и использую зависимость Apache poi 4.1.0 для чтения файла, однако он выдает мне несколько ошибок:

Ниже приведены мои зависимости:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.0</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.0</version>
</dependency>

Ниже приведены мои коды:

public class Excel {
    private static final String path = "C:\\Users\\Desktop\\Excel.xlsx";        
    public static void main(String[] args) throws IOException {         
        List studentList = getStudentListFromExcel();
    }       
    private static List getStudentListFromExcel() throws IOException{
        List studentList = new ArrayList();
        FileInputStream fis = null;         
        try {
            fis = new FileInputStream(path);
            // Using XSSF for xlsx format
            Workbook wb = new XSSFWorkbook(fis);
            int noSheet = wb.getNumberOfSheets();               
            for(int i=0;i<noSheet; i++) {
                Sheet sh = wb.getSheetAt(i);
                Iterator rowIterator = sh.iterator();
            while(rowIterator.hasNext()) {                  
                Student student = new Student();
                Row row = (Row) rowIterator.next();
                Iterator cellIterator = row.cellIterator();                 
                while(cellIterator.hasNext()) {
                    Cell cell = (Cell) cellIterator.next();
                    if(Cell.CELL_TYPE_STRING == cell.getCellType()) { // Error <===== CELL_TYPE_STRING cannot be resolved or is not a field    
                        student.setName(cell.getStringCellValue());   // Error <===== The method setName(String) is undefined for the type Student
                    }
                }
            }               
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }           
        return studentList;         
    }   
}

Ответы [ 2 ]

0 голосов
/ 21 апреля 2019

попробуйте с этим,

1. Ошибка один - CELL_TYPE_STRING cannot be resolved or is not a field

if(CellType.STRING == cell.getCellTypeEnum()){
    student.setName(cell.getStringCellValue());
}

2. Ошибка два - The method setName(String) is undefined for the type Student

убедитесь, что вы импортируетеправильный пакет и перекомпилируйте класс ученика

0 голосов
/ 21 апреля 2019

попробуйте использовать это перечисление: https://poi.apache.org/apidocs/dev/org/apache/poi/ss/usermodel/CellType.html

, а не тот, который вы используете сейчас.

...