كيفية استخدام PHP لإنشاء تقارير Excel

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

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

محتوى المقال

كيفية استخدام PHP لإنشاء تقارير Excel

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

الخطوة 1: تثبيت مكتبة PHPSpreadsheet

PHPSpreadsheet هي مكتبة قوية تُستخدم لإنشاء وتعديل ملفات Excel. يتم تثبيت المكتبة عادةً باستخدام Composer، وهو مدير حزم PHP.

تثبيت PHPSpreadsheet باستخدام Composer

لتثبيت PHPSpreadsheet، افتح سطر الأوامر في مشروعك وأدخل الأمر التالي:

composer require phpoffice/phpspreadsheet

سيقوم Composer بتنزيل المكتبة وكل المتطلبات الضرورية إلى مشروعك.

الخطوة 2: إنشاء ملف Excel باستخدام PHP

بعد تثبيت PHPSpreadsheet، يمكنك البدء في إنشاء ملفات Excel. سنبدأ بإنشاء ملف Excel بسيط يحتوي على بعض البيانات الأساسية.

كود PHP لإنشاء ملف Excel

<?php
// استدعاء ملفات PHPSpreadsheet المطلوبة
require 'vendor/autoload.php';

// استخدام الفضاءات اللازمة
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

// إنشاء كائن Spreadsheet جديد
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();

// إضافة بيانات إلى ملف Excel
$sheet->setCellValue('A1', 'الاسم');
$sheet->setCellValue('B1', 'العمر');
$sheet->setCellValue('A2', 'أحمد');
$sheet->setCellValue('B2', '25');
$sheet->setCellValue('A3', 'سارة');
$sheet->setCellValue('B3', '30');

// إنشاء ملف Excel وحفظه
$writer = new Xlsx($spreadsheet);
$writer->save('التقرير.xlsx');
?>

في هذا الكود، قمنا بإنشاء ملف Excel جديد باستخدام Spreadsheet، ثم أضفنا بعض البيانات البسيطة إلى الملف. أخيرًا، قمنا بحفظ الملف باسم "التقرير.xlsx".

الخطوة 3: تنسيق البيانات في Excel

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

كود PHP لتنسيق الخلايا في Excel

<?php
// تنسيق الرأس
$sheet->getStyle('A1:B1')
    ->getFont()
    ->setBold(true);

// تغيير لون الخلفية للرأس
$sheet->getStyle('A1:B1')
    ->getFill()
    ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
    ->getStartColor()
    ->setARGB('FFFF00');

// تنسيق الأعمدة لتناسب المحتوى
$sheet->getColumnDimension('A')
    ->setAutoSize(true);
$sheet->getColumnDimension('B')
    ->setAutoSize(true);
?>

في هذا المثال، قمنا بتنسيق الرأس في العمودين A وB لتكون بخط عريض، وتغيير لون الخلفية إلى الأصفر. كما قمنا بتعديل عرض الأعمدة تلقائيًا ليناسب المحتوى.

الخطوة 4: إنشاء جداول وتقارير متقدمة

يمكنك استخدام PHPSpreadsheet لإنشاء تقارير Excel متقدمة تحتوي على جداول ورسوم بيانية وغيرها. على سبيل المثال، يمكنك إنشاء جدول للبيانات المحفوظة وإضافة حدود وألوان مختلفة.

إنشاء جدول في Excel باستخدام PHP

<?php
// إنشاء جدول للبيانات
$sheet->setCellValue('A4', 'الإجمالي');
$sheet->setCellValue('B4', '=SUM(B2:B3)');

// إضافة حدود للخلايا
$sheet->getStyle('A1:B4')
    ->getBorders()
    ->getAllBorders()
    ->setBorderStyle(\PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN);
?>

في هذا الكود، قمنا بإنشاء جدول صغير يحتوي على الإجمالي باستخدام الدالة SUM، ثم قمنا بإضافة حدود رفيعة للخلايا في هذا النطاق.

الخطوة 5: تحميل تقرير Excel مباشرة للمستخدم

في كثير من الأحيان، ترغب في تمكين المستخدم من تحميل تقرير Excel مباشرة من خلال المتصفح. يمكن القيام بذلك عن طريق ضبط ترويسات HTTP المناسبة وإرسال الملف مباشرة إلى المتصفح.

كود PHP لتحميل ملف Excel مباشرة

<?php
// تعيين الترويسات لتحميل الملف
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="التقرير.xlsx"');
header('Cache-Control: max-age=0');

// إنشاء الملف وإرساله إلى المتصفح
$writer = new Xlsx($spreadsheet);
$writer->save(php://output);
exit;
?>

باستخدام هذا الكود، سيتم تحميل ملف Excel مباشرة عند الوصول إلى الصفحة التي تحتوي على هذا الكود. المتصفح سيعرض نافذة التحميل للمستخدم لتنزيل الملف.

الخلاصة

في هذا المقال، تعلمنا كيفية استخدام PHPSpreadsheet لإنشاء تقارير Excel باستخدام PHP. بدءًا من تثبيت المكتبة، مرورًا بإنشاء ملف Excel وإضافة البيانات وتنسيقها، وصولاً إلى إنشاء جداول متقدمة وتحميل الملف للمستخدم. باستخدام هذه الأدوات، يمكنك إنشاء تقارير Excel مخصصة وفعالة لتلبية احتياجات مشروعك أو تطبيقك على الويب.

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