def build_mapping(xls_columns, wanted_columns):
    """
    Buduje mapowanie pomiędzy kolumnami dostarczonymi w XLS a kolumnami wymaganymi.

    Przykładowo, przy wejściu:

    xls_columns=["c", "b", "a"]
    wanted_columns={"A": "foo", "B": "bar", "c": "baz"}

    zwraca listę o kolejności elementów:
    ["baz", "bar", "foo"]

    :type xls_columns: list
    :type wanted_columns: dict
    :rtype: list
    """
    ret = []
    upper_wanted_columns = dict([(x.upper().strip(), wanted_columns[x]) for x in list(wanted_columns.keys())])
    for elem in xls_columns:
        val = elem.value.upper().strip()
        if val in upper_wanted_columns:
            ret.append(upper_wanted_columns[val])
            continue
        ret.append(None)

    return ret