Skip to content
Advertisement

Save Excel Data in Database in Spring boot

I have some excel files which i need to upload and save all the content in database.

In my excel files sometimes some column which is not mandatory is not present but in cases where it is mandatory it will be present

So How can i handle this situation single spring boot controller which run in all these 3 excel files?

For Example –

    Excel File 1

    Column1 | Column2 | Column3
    data1      data 2    data 3
    
    Excel File 2
    
    Column1 | Column2 | Column3 | Column4
    data1      data 2    data 3   data 4
    
    Excel File 3
    
    Column1 | Column2 | Column4 
    data1      data 2    data 2

My Implementation

 for (int j = 0; j <= sheet.getLastRowNum(); j++) {
     Row currentRow = sheet.getRow(j);
     if (currentRow != null && currentRow.getCell(0)!=null) {
        Student student = new Student();
        // Common Fields which is in all the excel files
        student.setId((int)Math.round(currentRow.getCell(1).getNumericCellValue()));
        student.setName(currentRow.getCell(2).getStringCellValue());
        
        // Rest of the fields (May be present in one excel but not present in other excel 
         vice-versa                                           
     }
 }

Advertisement

Answer

This fix worked for me.

for (int z = 0; z < row.getLastCellNum() - 1; z++) {
        String columnName = sheet.getRow(2).getCell(z).getStringCellValue(); // 2 is  heading row
        switch (columnName) {
           case "Column 1":
                 student.set(currentRow.getCell(z).getStringCellValue())
           break;
           case "Column 2":
                 student.set(currentRow.getCell(z).getStringCellValue())
           break;
           default:
           break;
        }
    }
User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement