1) Method to read data from excel file-
public static String getCellValue(String pathOfFile, String sheetName, int rowNum, int cellNum) throws InvalidFormatException, IOException{
FileInputStream fis = new FileInputStream(pathOfFile);
Workbook wb = WorkbookFactory.create(fis);
int type = wb.getSheet(sheetName).getRow(rowNum).getCell(cellNum).getCellType();
String value = "";
if(type==Cell.CELL_TYPE_STRING){
value = wb.getSheet(sheetName).getRow(rowNum).getCell(cellNum).getStringCellValue();
}else if(type==Cell.CELL_TYPE_NUMERIC){
int numValue = (int) wb.getSheet(sheetName).getRow(rowNum).getCell(cellNum).getNumericCellValue();
value = ""+numValue;
}else if(type==Cell.CELL_TYPE_BOOLEAN){
boolean boolValue = wb.getSheet(sheetName).getRow(rowNum).getCell(cellNum).getBooleanCellValue();
value = ""+boolValue;
}
return value;
}
2) Method to write the data into file
public static void writeData(String pathOfFile, String sheetName, int rowNum, int cellNum, String value) throws InvalidFormatException, IOException{
FileInputStream fis = new FileInputStream(pathOfFile);
Workbook wb = WorkbookFactory.create(fis);
wb.getSheet(sheetName).getRow(rowNum).createCell(cellNum).setCellValue(value);
//wb.getSheet(sheetName).createRow(rowNum).createCell(cellNum).setCellValue(value); //use this if you are writing in new row.
FileOutputStream fos = new FileOutputStream(pathOfFile);
wb.write(fos);
}
public static String getCellValue(String pathOfFile, String sheetName, int rowNum, int cellNum) throws InvalidFormatException, IOException{
FileInputStream fis = new FileInputStream(pathOfFile);
Workbook wb = WorkbookFactory.create(fis);
int type = wb.getSheet(sheetName).getRow(rowNum).getCell(cellNum).getCellType();
String value = "";
if(type==Cell.CELL_TYPE_STRING){
value = wb.getSheet(sheetName).getRow(rowNum).getCell(cellNum).getStringCellValue();
}else if(type==Cell.CELL_TYPE_NUMERIC){
int numValue = (int) wb.getSheet(sheetName).getRow(rowNum).getCell(cellNum).getNumericCellValue();
value = ""+numValue;
}else if(type==Cell.CELL_TYPE_BOOLEAN){
boolean boolValue = wb.getSheet(sheetName).getRow(rowNum).getCell(cellNum).getBooleanCellValue();
value = ""+boolValue;
}
return value;
}
2) Method to write the data into file
public static void writeData(String pathOfFile, String sheetName, int rowNum, int cellNum, String value) throws InvalidFormatException, IOException{
FileInputStream fis = new FileInputStream(pathOfFile);
Workbook wb = WorkbookFactory.create(fis);
wb.getSheet(sheetName).getRow(rowNum).createCell(cellNum).setCellValue(value);
//wb.getSheet(sheetName).createRow(rowNum).createCell(cellNum).setCellValue(value); //use this if you are writing in new row.
FileOutputStream fos = new FileOutputStream(pathOfFile);
wb.write(fos);
}