Как сделать автоматическую генерацию клавиатуры Python + aiogram 3

Хочу сделать reply клавиатуру, но не хочу писать каждую клавишу отдельно, как её сгенерировать автоматически?

Названия клавиш должны браться из наименования страниц файла Excel.

import openpyxl
wb = openpyxl.reader.excel.load_workbook(filename = "filenme", data_only = True)
@router.message(F.text.lower() == "Вывод")
async def command(message: Message):
   for i in wb.sheetnames:
      await message.answer(f"Кнопка - {i}", reply_markup = ?)

Это мой код на вывод наименований всех листов Excel таблицы. Как мне это перевести в кнопки? Кнопки требуются Reply.

Нашёл вот такой вариант, но это как понял aiogram 2 + inline

def gen_markup(quanity: int, prefix: str, row_width: int) -> InlineKeyboardMarkup:
markup = InlineKeyboardMarkup(row_width=row_width)
for i in range(quanity):
    markup.insert(InlineKeyboardButton(f"text {i}", callback_data=f"{prefix}:{i}"))
return markup


@dp.message_handler(commands=['start'])
async def bot_message(message: types.Message):
markup = gen_markup(30, "prefix", 5)
await message.answer("asd", reply_markup=markup)

Ответы (1 шт):

Автор решения: AndreyKaO

Может кому пригодится, сам сделал.

from aiogram.utils.keyboard import ReplyKeyboardBuilder
from handlers.inventorization_commands import wb

def kb_inventory():
builder = ReplyKeyboardBuilder()
for item in wb.sheetnames:
    builder.button(text = item)
builder.adjust(3)
return builder.as_markup(resize_keyboard = True)
→ Ссылка