public static Set<IGMVVariety> readData(String inputFile, GardenSize size) throws IOException {
		File inputWorkbook = new File(inputFile);
		Workbook w;
		Set<IGMVVariety> varieties = new HashSet<IGMVVariety>();
		try {
			w = Workbook.getWorkbook(inputWorkbook);
			// Get the first sheet
			Sheet sheet = w.getSheet(0);
			// 0th row has column name
			// e.g Vegetable, Variety, Min.Experience, Min. row length
			for (int i = 1; i < sheet.getRows(); i++) {
				String group = sheet.getCell(0, i).getContents();
				if (group == "") {
					continue;
				}
				String name = sheet.getCell(1, i).getContents();
				int minExp = Integer.valueOf(sheet.getCell(2, i).getContents());
				String lengthCrucial = sheet.getCell(3, i).getContents();
				if (lengthCrucial.equalsIgnoreCase("TRUE")) {
					double unitLength = (Double.valueOf(sheet.getCell(4, i)
							.getContents()));
					varieties.add(new IGMVVariety(name, group, minExp, true,
							unitLength, -1, size));
				} else {
					double unitArea = (Double.valueOf(sheet.getCell(5, i)
							.getContents()));
					varieties.add(new IGMVVariety(name, group, minExp, false, -1,
							unitArea, size));
				}
				
			}

		} catch (BiffException e) {
			e.printStackTrace();
		}

		return varieties;
	}