كيفية استخدام PHP لإنشاء تقارير Excel
تمت الكتابة بواسطة: عبد الحكيم
تارخ آخر تحديث: 19 ديسمبر 2024محتوى المقال
- الخطوة 1: تثبيت مكتبة PHPSpreadsheet
- الخطوة 2: إنشاء ملف Excel باستخدام PHP
- الخطوة 3: تنسيق البيانات في Excel
- الخطوة 4: إنشاء جداول وتقارير متقدمة
- الخطوة 5: تحميل تقرير 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 مخصصة وفعالة لتلبية احتياجات مشروعك أو تطبيقك على الويب.
طور مهاراتك: مقالات يجب قراءتها في البرمجة
- كيفية إنشاء قائمة أفقية باستخدام HTML و CSS
- كيفية إرسال إشعارات البريد الإلكتروني عند تسجيل مستخدم جديد باستخدام PHP
- كيفية التعامل مع الجداول في قواعد البيانات باستخدام PHP
- كيفية استخدام وسوم HTML لتحسين إمكانية الوصول (Accessibility)
- كيفية بناء موقع متعدد اللغات باستخدام PHP و HTML
- كيفية استخدام الـ PHP مع تقنية OAuth لتسجيل الدخول باستخدام حسابات التواصل الاجتماعي
- كيفية إنشاء خريطة موقع (Sitemap) باستخدام HTML
- كيفية استخدام تقنيات التخزين المؤقت (Caching) في PHP
- كيفية إنشاء معرض صور ديناميكي باستخدام PHP و HTML
- كيفية تحسين أمان نماذج HTML باستخدام PHP