Search code examples
javaautomationexcel-2010

Write multiple records in two column in excel using java


I have two column namely Setup and Request in excel, need to write multiple rows in excel using java

public void WriteExcelValues() throws IOException {
String Ustr= setup.getText();
String urequest = request.getText();
    File file = new File(System.getProperty("user.dir") 
                            + "/src/main/uat/testdata/FreeTestData.xlsx");
    FileInputStream fis = new FileInputStream(file);
    Workbook workbook = new XSSFWorkbook(fis);
    Sheet sheet = workbook.getSheetAt(0);
    int lastRow = sheet.getLastRowNum();
    int n = 1;

    for (int i = 1; i <= n; i++) {   
        Row row = sheet.getRow(i); 
        Cell cell = row.createCell(8);
        Cell cell1 = row.createCell(9);

        cell.setCellValue(Ustr);
        cell1.setCellValue(urequest);
        //cell.setCellValue("AcknowledgementId"); 
    }

    FileOutputStream fos = new FileOutputStream(file);   
    workbook.write(fos);
    fos.close();
}

for example

enter image description here

Above code is not complete and doesn't satisfy the criteria also.


Solution

  • 
    Workbook workbook = new XSSFWorkbook();
    
    Sheet sheet = workbook.createSheet();
    
    Row headerRow = sheet.createRow(0);
    
    headerRow.createCell(0).setCellValue("Setupid");
    headerRow.createCell(1).setCellValue("Request");
    
    int cellCount = 10;
    
    for (int i = 1; i <= cellCount; i++) {
    
        Row row = sheet.createRow(i);
    
        row.createCell(0).setCellValue("cell " + i);
        row.createCell(1).setCellValue("cell " + i);
    }
    
    File file = new File(System.getProperty("user.dir") 
                                + "/src/main/uat/testdata/FreeTestData.xlsx");
    
    if(file.exists()) {
        file.delete();
    }
    
    file.createNewFile();
    
    FileOutputStream fos = new FileOutputStream(file);
    
    workbook.write(fos);
    
    fos.close();
    
    workbook.close();