Я бы в принципе рекомендовал использовать pandas для таких целей.
1. Читаем excel в pandas dataframe псевдокод будет такой.
import pandas as pd
df =pd.read_excel(data.xlsx,sheet_name=’Ткани’)
у функции read_excel много параметров, в том числе header, index_col которые возможно придется настраивать.
2. Глянул бы на него что таблица в порядке (это как фрейм запишется в базу), глянул бы на типы данных, df.dtypes что бы все типы колонок, были в том виде как их ожидает база. Если надо изменил бы их. Проверил бы есть ли пропущенные значения (nan, NA). Если есть провел бы работу с ними.
3. Затем бы отправлял в базу методом to_sql(). Псевдо код будет такой.
df.to_sql('table_name', connection, if_exists='replace')
Параметр if_exists (если таблица существует) имеет также метод append просто весь фрейм добавит новыми строками, и fail тогда будет ошибка.
У pandas хорошая документация и он силен в чтениях фалов любых форматов, так что если что то не получается, это почти всегда поправимо, ну и как писать в базу тоже конфигурируется очень удобно, так что если в этом будут проблемы то тоже решается.