"""Generate one slide per region from ppt-inter-sales-data.xlsx (pip install python-pptx openpyxl)."""
from openpyxl import load_workbook
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE

wb = load_workbook("ppt-inter-sales-data.xlsx", data_only=True)
p = Presentation()                       # or Presentation("your-template.pptx") to use your brand layouts
p.slide_width, p.slide_height = Inches(13.333), Inches(7.5)
for reg, sales, target, pct in wb["Regions"].iter_rows(min_row=2, values_only=True):
    s = p.slides.add_slide(p.slide_layouts[5])            # 'Title Only'
    s.shapes.title.text = f"{reg}: Rs {sales} lakh ({pct}% of target)"
    cd = CategoryChartData(); cd.categories = ["Sales", "Target"]; cd.add_series("Rs lakh", (sales, target))
    s.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, Inches(1), Inches(1.6), Inches(7), Inches(5), cd)
p.save("monthly-review.pptx")
print("slides:", len(p.slides))
