كيفية التعامل مع ملفات الإكسل في لغة php

محتويات المقال:
excel programming by php
من المهمات الشائعة التي تواجهنا في برمجة المواقع بلغة php هي التعامل مع ملفات الاكسل ، وعادة ما يكون طلب العميل تفريغ بيانات من ملف الاكسل الى قاعدة البيانات او حفظ بيانات من قاعدة البيانات الى ملف اكسل ، وفي كلتا الحالتين ستحتاج الى معرفة الطرق التي يتم بها ذلك.

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

1. PHPExcel :

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

2. PHPOffice PhpSpreadsheet 

 هذه مكتبة رائعة لقراءة والكتابة على ملفات الاكسيل وعرضها في صفحة الويب بنفس التنسيق والعرض وهي خفيفة وجيدة ، وهي الأكثر نجاحا في 2021 ، وتتكون من كلاس واحد وتعتبر سهلة الاستخدام يمكنك تحميل اخر اصدار مع مثال كيفية الاستخدام من PHPOffice PhpSpreadsheet.

3 يمكنك انشاء داله او كلاس بسيط باستخدام الدالة str_getcsv المتوفرة في الاصدار 5.3.0 وما فوق

ولكن يجب أولا تحويل الملف الى صيغة csv وبعد ذلك يمكنك قراءة الصفوف ومن ثم بإمكانك تفكيك الأعمدة ووضعه في مصفوفة ثنائية الأبعاد ، بعد ذلك يمكنك التعامل مع المصفوفة كجدول ، وهذا مثال بسيط لإستخدام الدالة:
<?php
$csvData = file_get_contents('26template.csv');
$lines = explode("\n", $csvData);
$rows = array();
foreach ($lines as $line) {
$rows[] = str_getcsv($line);
echo $line."<br/>";
}
print_r($rows);
?>

اقرأ ايضا : رفع عدة ملفات او صور بنفس الوقت بلغة ال PHP

تعرفنا في هذا الشرح في كيفية التعامل مع ملفات الاكسل في لغة php ، وأتمنى ان افدتكم ، واذا كان لديكم طرق أخرى شاركوها معنا في تعليق ليستفيد الجميع.
الكلمات المفتاحية: