package testingtest;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
class testclass {
static String[][] getexceldatainArray;
static HashMap<String, String> dictionary;
public static void main(String[] args) throws IOException, BiffException {
// Create an array based on data in excel file
excelarrayclass tc = new excelarrayclass();
getexceldatainArray = tc.CreateArrayfromExcel("D:\\Testing.xls",
"testing");
for (int i = 0; i < getexceldatainArray.length; i++) {
dictionary = DataDictionaryFromArray(getexceldatainArray, i);
// the keys will be value in the header column
String username = dictionary.get("UserName");
/*
* Perform the required operation using the dictionary values
*/
System.out.println("UserName " + username);
}
}
public String[][] CreateArrayfromExcel(String WorkbookName, String SheetName)
throws BiffException, IOException {
String[][] arrTestDta;
Workbook workbk = Workbook.getWorkbook(new File(WorkbookName));
Sheet wrkSheet = workbk.getSheet(SheetName);
arrTestDta = new String[wrkSheet.getRows()][wrkSheet.getColumns()];
// Loop to get data from excel file into an array
for (int i = 0; i < wrkSheet.getRows(); i++) {
for (int j = 0; j < wrkSheet.getColumns(); j++) {
Cell cell = wrkSheet.getCell(j, i);
if (cell.getContents() != null) {
arrTestDta[i][j] = cell.getContents();
}
}
}
return arrTestDta;
}
public static HashMap<String, String> DataDictionaryFromArray(
String[][] arrayforDictionary, int iRow) {
// Create a hashmap to store the data as dictionary in key value form
HashMap<String, String> dictionary = new HashMap<String, String>();
// get the size of the array, assuming being used in data driven test,
// get the number of columns in the data file
int iColCnt = arrayforDictionary[0].length;
for (int i = 0; i < iColCnt; i++) {
// mark the header column values as key and current column value as
// key value pair
dictionary.put(arrayforDictionary[0][i],
arrayforDictionary[iRow][i]);
}
return dictionary;
}
}
I see you have all lower case letters, which is not very much readable. ex: excelarrayclass (You can have it s ExcelArrayClass)
ReplyDeleteThanks Moin for the observation. Will correct the code and update and totally agree that variable should be defined in Camel case instead of lower or upper case.
ReplyDeleteThanks a lot for contributing
awesome
ReplyDelete