كيفية إنشاء تقارير Excel باستخدام مكتبة openpyxl في Python

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 19 ديسمبر 2024

محتوى المقال

كيفية إنشاء تقارير Excel باستخدام مكتبة openpyxl في Python

تُعد مكتبة openpyxl واحدة من الأدوات القوية في Python لإنشاء وتعديل ملفات Excel. تتيح لك هذه المكتبة إنشاء تقارير Excel مخصصة، بما في ذلك كتابة البيانات، تنسيق الخلايا، وإنشاء الرسوم البيانية. في هذا المقال، سنتعرف على كيفية استخدام openpyxl لإنشاء تقارير Excel خطوة بخطوة.

ما هي مكتبة openpyxl؟

openpyxl هي مكتبة مفتوحة المصدر في Python تُستخدم للعمل مع ملفات Excel. تتيح لك إنشاء ملفات Excel جديدة، قراءة البيانات من ملفات موجودة، تعديل هذه البيانات، إضافة صيغ، إنشاء الرسوم البيانية، وأكثر من ذلك بكثير. إنها أداة مثالية لإنشاء تقارير مخصصة بالبيانات التي تحتاجها.

تثبيت مكتبة openpyxl

للبدء باستخدام openpyxl، تحتاج أولاً إلى تثبيتها. يمكنك تثبيت المكتبة باستخدام pip:

pip install openpyxl

إنشاء ملف Excel جديد

أول خطوة في إنشاء تقرير Excel هي إنشاء ملف Excel جديد. يمكنك القيام بذلك باستخدام Workbook من مكتبة openpyxl:

from openpyxl import Workbook

# إنشاء ملف Excel جديد
workbook = Workbook()

# إنشاء ورقة عمل جديدة
sheet = workbook.active
sheet.title = "تقرير البيانات"

# حفظ الملف
workbook.save("report.xlsx")

في هذا المثال، قمنا بإنشاء ملف Excel جديد بعنوان "report.xlsx" يحتوي على ورقة عمل واحدة بعنوان "تقرير البيانات".

كتابة البيانات إلى ملف Excel

الخطوة التالية بعد إنشاء الملف هي كتابة البيانات إلى ورقة العمل. يمكنك كتابة البيانات إلى خلايا معينة باستخدام التخصيص المباشر لموقع الخلية.

كتابة بيانات إلى خلايا معينة

يمكنك كتابة البيانات إلى خلايا محددة باستخدام ترقيم الصفوف والأعمدة:

# كتابة البيانات إلى الخلايا
sheet["A1"] = "اسم المنتج"
sheet["B1"] = "السعر"
sheet["C1"] = "الكمية"

sheet["A2"] = "منتج 1"
sheet["B2"] = 25.50
sheet["C2"] = 10

# حفظ الملف بعد كتابة البيانات
workbook.save("report.xlsx")

هنا، قمنا بكتابة بيانات بسيطة إلى خلايا A1، B1، C1 وأيضًا إلى A2، B2، C2. هذه البيانات تمثل مثالاً على جدول بسيط.

إضافة البيانات باستخدام الحلقات

لإضافة كميات كبيرة من البيانات، يمكن استخدام الحلقات لتعبئة الخلايا ببيانات متعددة:

# بيانات المنتجات
products = [
    ["منتج 1", 25.50, 10],
    ["منتج 2", 40.75, 5],
    ["منتج 3", 60.00, 3]
]

# إضافة البيانات إلى ورقة العمل
for i, product in enumerate(products, 2):
    sheet[f"A{i}"] = product[0]
    sheet[f"B{i}"] = product[1]
    sheet[f"C{i}"] = product[2]

# حفظ الملف بعد إضافة البيانات
workbook.save("report.xlsx")

باستخدام الحلقة، قمنا بإضافة ثلاثة منتجات إلى الجدول بطريقة تلقائية وفعالة.

تنسيق الخلايا في Excel

التنسيق الجيد للتقارير يجعلها أكثر احترافية وسهولة في القراءة. يمكنك استخدام openpyxl لتنسيق الخلايا من حيث اللون، الخط، والمحاذاة.

تنسيق الخط

لتنسيق الخط في الخلايا، يمكنك استخدام Font من openpyxl.styles:

from openpyxl.styles import Font

# تنسيق الخط للعناوين
bold_font = Font(bold=True, color='FF0000')
sheet["A1"].font = bold_font
sheet["B1"].font = bold_font
sheet["C1"].font = bold_font

# حفظ الملف بعد تنسيق الخط
workbook.save("report.xlsx")

في هذا المثال، قمنا بتنسيق العناوين في الصف الأول لتكون بخط عريض وبلون أحمر.

تنسيق محاذاة النص

يمكنك أيضًا تنسيق محاذاة النص داخل الخلايا باستخدام Alignment:

from openpyxl.styles import Alignment

# تنسيق محاذاة النص إلى الوسط
center_alignment = Alignment(horizontal='center')
sheet["A1"].alignment = center_alignment
sheet["B1"].alignment = center_alignment
sheet["C1"].alignment = center_alignment

# حفظ الملف بعد تنسيق المحاذاة
workbook.save("report.xlsx")

هنا قمنا بتوسيط النص في العناوين الموجودة في الصف الأول.

إضافة الرسوم البيانية إلى تقرير Excel

الرسوم البيانية تعد أداة قوية لتصور البيانات. باستخدام openpyxl، يمكنك إضافة رسوم بيانية إلى تقارير Excel الخاصة بك بسهولة.

إنشاء رسم بياني شريطي

لإنشاء رسم بياني شريطي يعتمد على البيانات الموجودة في ورقة العمل، يمكنك استخدام BarChart:

from openpyxl.chart import BarChart, Reference

# إنشاء مرجع للبيانات
data = Reference(sheet, min_col=2, min_row=1, max_col=3, max_row=4)

# إنشاء الرسم البياني الشريطي
chart = BarChart()
chart.add_data(data, titles_from_data=True)
chart.title = "تقرير المبيعات"
chart.x_axis.title = "المنتجات"
chart.y_axis.title = "القيمة"

# إضافة الرسم البياني إلى ورقة العمل
sheet.add_chart(chart, "E5")

# حفظ الملف بعد إضافة الرسم البياني
workbook.save("report.xlsx")

في هذا المثال، قمنا بإنشاء رسم بياني شريطي يعرض العلاقة بين المنتجات والقيمة (السعر * الكمية) وأضفناه إلى ورقة العمل في الموقع E5.

الخاتمة

باستخدام مكتبة openpyxl في Python، يمكنك بسهولة إنشاء تقارير Excel مخصصة تلبي احتياجاتك. سواء كنت بحاجة إلى كتابة البيانات، تنسيقها، أو إضافة الرسوم البيانية، توفر openpyxl الأدوات اللازمة لتنفيذ ذلك بكفاءة. نأمل أن يكون هذا المقال قد قدم لك فهمًا شاملاً لكيفية استخدام openpyxl لإنشاء تقارير Excel في Python.

طور مهاراتك: مقالات يجب قراءتها في البرمجة