code: public Iterable<Map<String, String>> toMaps() {
      checkState(!isClosed, WORKBOOK_CLOSED);
      checkState(hasHeader, NO_HEADER);
      return Iterables.skip(Iterables.transform(sheet, item -> {
        Map<String, String> map = newLinkedHashMap();
        List<String> row = rowToList(item);
        for (int i = 0; i < getHeader().size(); i++) {
          map.put(getHeader().get(i), row.get(i));
        }
        return map;
      }), 1);
    }
docs: Converts the spreadsheet to Maps by a Map Iterable. All Maps are
  implemented by LinkedHashMap which implies the order of all fields is kept.
  
  @return Map{@literal <String, String>} Iterable