Я не уверен, что вы подразумеваете под горизонтальной границей, но в одном из моих прошлых проектов я использовал pandas для выполнения работы - он считывает данные из Excel непосредственно в информационный кадр. Я бы предложил вам попробовать. Если вы можете получить всю страницу на фрейме данных, вам нужно будет обрабатывать только пустые строки после этого.
import pandas as pd
xl = pd.ExcelFile(filepath) # Pandas ExcelFile object
df = xl.parse(sheetname) # Extracts data from the target sheet into a dataframe