private ArrayList<StringResource> createStringResources(File file) {
		try {
			FileInputStream fis = new FileInputStream(file);
			XSSFWorkbook wb = new XSSFWorkbook(fis);
			Sheet sheet = wb.getSheetAt(0);

			ArrayList<StringResource> stringResources = new ArrayList<StringResource>();
			boolean headersRead = false;

			ArrayList<String> headers = new ArrayList<String>();
			ArrayList<String> rows = new ArrayList<String>();

			// Iterate through each rows from first sheet
			// Iterator<Row> rowIterator = sheet.iterator();
			// while (rowIterator.hasNext()) {
			// Row row = rowIterator.next();
			// rows.clear();
			//
			// // For each row, iterate through each columns
			// Iterator<Cell> cellIterator = row.cellIterator();
			//
			// while (cellIterator.hasNext()) {
			// Cell cell = cellIterator.next();
			//
			// if (!headersRead) {
			// headers.add(cell.getStringCellValue());
			// } else {
			// rows.add(cell.getStringCellValue());
			// System.out.println("Printing row data: " +
			// cell.getStringCellValue());
			// }
			// }
			//
			// if (!headersRead) {
			// headersRead = true;
			// } else {
			// StringResource res = createStringResource(headers, rows);
			// stringResources.add(res);
			// }
			// }

			// Get headers
			Row headerRow = sheet.getRow(0);

			// For each row, iterate through each columns
			Iterator<Cell> cellIterator = headerRow.cellIterator();

			while (cellIterator.hasNext()) {
				Cell cell = cellIterator.next();
				headers.add(cell.getStringCellValue());
			}

			// Iterate through each rows from first sheet
			Iterator<Row> rowIterator = sheet.iterator();
			while (rowIterator.hasNext()) {
				Row row = rowIterator.next();
				rows.clear();

				if (headersRead) {

					// For each row, iterate through each columns
					final int totalColumns = headers.size();
					for (int i = 0; i < totalColumns; i++) {
						Cell cell = row.getCell(i);
						String cellData;

						if (cell != null) {
							cellData = cell.getStringCellValue();
						} else {
							cellData = "";
						}

						rows.add(cellData);
					}

					StringResource res = createStringResource(headers, rows);
					stringResources.add(res);

				} else {
					headersRead = true;
				}
			}

			return stringResources;

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (fis != null) {
				try {
					fis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

		return null;
	}