import tkinter as tk
from tkinter import messagebox
import qrcode
import openpyxl

def create_qr_codes():
    # Đọc dữ liệu từ tệp Excel
    wb = openpyxl.load_workbook('listUser.xlsx')
    sheet = wb.active
    first_row_skipped = False
    # Duyệt qua từng dòng trong tệp Excel và tạo mã QR code
    for row in sheet.iter_rows(values_only=True):
        name, role = row[0], row[1]

        # Bỏ qua dòng đầu tiên
        if not first_row_skipped:
            first_row_skipped = True
            continue

        if name != None and role != None:
            # Tạo nội dung cho mã QR code
            qr_data = f"{name}\n{role}\n\n"

            # Tạo mã QR code
            qr = qrcode.QRCode(
                version=1,
                error_correction=qrcode.constants.ERROR_CORRECT_L,
                box_size=10,
                border=4,
            )
            qr.add_data(qr_data)
            qr.make(fit=True)

            # Lấy hình ảnh mã QR code
            img = qr.make_image(fill_color="black", back_color="white")

            # Lưu hình ảnh mã QR code vào tệp
            img_file_name = f"./QRCode/{name}_{role}_qr_code.png"
            img.save(img_file_name)

            print(f"QR code created for {name}, {role}")

    messagebox.showinfo("Success", "QR codes created successfully.")

create_qr_codes()
