void loadExcelGazetteer() {
    try {
      fileInputStream = new FileInputStream(params.gazetteerFile);
      try {
        workbook = WorkbookFactory.create(fileInputStream);
      } catch (InvalidFormatException e1) {
        e1.printStackTrace();
      }
      FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
      worksheet = workbook.getSheetAt(workbook.getActiveSheetIndex());
      Row headerRow = worksheet.getRow(0);
      dataColumns = headerRow.getLastCellNum();
      splitHeader = new String [dataColumns];
      Cell currCell;
      for (int clm = 0; clm < dataColumns; clm++) {
        currCell = headerRow.getCell(clm);
        splitHeader[clm] = this.readCellAsString(currCell, evaluator);
      }
      getColumnNumbers(splitHeader);
      dataRows = worksheet.getLastRowNum() + 1;
      for (int row = 1; row < dataRows; row++){
        String[] splitString = new String[dataColumns];
        try {
          Row nextRow = worksheet.getRow(row);
          Cell dataCell;
          for (int clm = 0; clm < dataColumns; clm++) {
            if (nextRow.getCell(clm) != null){
              dataCell = nextRow.getCell(clm);
              splitString[clm] = readCellAsString(dataCell, evaluator);
            } else {
              splitString[clm] = "";
            }
          }
          gazetteerDataSet.add(splitString);
        } catch (Exception e) {
          e.printStackTrace();
          System.out.println("got stuck on a line in a gazetteer, yo!");
        }
      }
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }