Ну вообще если посмотреть исходник, то функция iter_rows имеет следующее объявление:
def iter_rows(self, min_row=None, max_row=None, min_col=None, max_col=None, values_only=False):
"""
Produces cells from the worksheet, by row. Specify the iteration range
using indices of rows and columns.
If no indices are specified the range starts at A1.
If no cells are in the worksheet an empty tuple will be returned.
:param min_col: smallest column index (1-based index)
:type min_col: int
:param min_row: smallest row index (1-based index)
:type min_row: int
:param max_col: largest column index (1-based index)
:type max_col: int
:param max_row: largest row index (1-based index)
:type max_row: int
:param values_only: whether only cell values should be returned
:type values_only: bool
:rtype: generator
"""
Таким образом, склоняюсь к тому, что у вас ошибка, скорее всего, именно в этом моменте