تصدير بيانات MySQL إلى Excel في PHP باستخدام خلايا منفصلة
أنت تواجه مشكلة أثناء تصدير بيانات MySQL إلى Excel، حيث يتم حفظ كل النص يتم عرضه في خلية واحدة بدلاً من الخلايا المنفصلة لكل قيمة صف. تهدف هذه المقالة إلى توفير حل لهذه المشكلة عن طريق معالجة كل سطر من التعليمات البرمجية الخاصة بك والتوصية بالتغييرات المناسبة.
السطر 12: $count = mysql_num_fields($result);
يحسب هذا السطر عدد الأعمدة في مجموعة النتائج ويعينها للمتغير $count.
السطر 14: $header .= mysql_field_name($result, $i). "\t";
يُلحق هذا السطر أسماء الأعمدة بمتغير $header، مفصولة بعلامات جدولة.
السطر 24: if(!isset($value) ||.$value == ""){ $value = "\t";
في هذا السطر، إذا كانت قيمة الخلية فارغة أو غير محددة، فسيتم استبدالها بعلامة تبويب. وهذا يضمن أن كل خلية تحتوي على مسافة على الأقل.
السطر 28: $data .= Trim($line)."\n";
هنا، يتم إلحاق سطر البيانات المقصوص بمتغير $data، مفصولاً بأسطر جديدة.السطر 38:header("Content-Disposition: Attachment; filename=exportfile.xls");في هذا السطر، تم تعيين الرأس لإجبار المتصفح على تنزيل الملف كمستند Excel باسم Exportfile.xls.
السطر 52: $result = @mysql_query( $sql,$Connect) أو die("تعذر تنفيذ الاستعلام:
" . mysql_error(). "
" . mysql_errno());ينفذ هذا السطر استعلام SQL ويتعامل مع أي أخطاء محتملة.
header("Pragma: no-cache"); and header("Expires: 0"); تعمل هذه الرؤوس على تعطيل التخزين المؤقت لضمان تنزيل أحدث البيانات عند كل طلب.
السطر 92:print Trim( $schema_insert);في هذا السطر، تتم طباعة البيانات المقصوصة.
الكود المحسن:إليك نسخة محسنة من الكود الخاص بك من المفترض أن يحل ذلك مشكلة تصدير البيانات إلى خلايا منفصلة في Excel:
$DB_Server = "localhost"; $DB_Username = "اسم المستخدم"; $DB_Password = "كلمة المرور"; $DB_DBName = "اسم قاعدة البيانات"; $DB_TBLName = "اسم الجدول"; $filename = "excelfilename"; $sql = "اختر * من $DB_TBLName"; $Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) أو die("تعذر الاتصال بـ MySQL:تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3