CSV ( Comma Separated Values ) هو تنسيق تخزين جدول يتم فيه فصل قيم الخلية بواسطة الرمز "،". بدلاً من "،" يمكن استخدام الفاصل حرفًا آخر. على الرغم من أن AppMaster يتطلب فاصلة.

من المهم التأكد من عدم ظهور هذه الشخصية داخل الخلية. خلاف ذلك ، ستتم قراءة بيانات الملف بشكل غير صحيح.

أولاً ، قم بإنشاء نموذج بيانات حيث سيتم حفظ المعلومات من ملف CSV. على سبيل المثال ، دعنا نصنع نموذج بيانات للرحلات الجوية. سوف يحتوي على الحقول التالية:

DB example

  • flight_no - رقم الرحلة ، بتنسيق عدد صحيح ؛
  • الوجهة في شكل سلسلة ؛
  • الفئات - فئة الرحلة المتاحة لهذه الرحلة ، تنسيق المصفوفة [سلسلة].

مثال على ملف سيتم استيراده:

File example

يحتوي العمود الأول flight_no ، والثاني على destination ، والثالث يحتوي على classes .

في العمود الثالث ، يتم فصل القيم بفاصلة منقوطة.

قم بإنشاء عملية تجارية

انتقل إلى علامة التبويب Business Logic وانقر على زر Create Business Process .

Creating BP

تحتاج عملية الأعمال هذه إلى ملف CSV ، لذا أضف حقل الملف إلى كتلة Start .

Creating variable

بعد ذلك ، نحتاج إلى كتلة ملف Read CSV .

وبالمثل ، يمكنك استخدام Read XLS file وقراءة كتل Read XLSX file المقابلة.

كيف تعمل كتلة Read CSV file :

يحتوي على موصلي إخراج: Each Row Completed. عند تنشيط الكتلة ، ستقرأ الملف سطرًا سطرًا ، وفي كل مرة سيتم تنشيط موصل Each Row وتمرير رقم الصف (رقم الصف ، بدءًا من 1) وأعمدة الصف مجموعة سلسلة من جميع أعمدة التيار صف.

قم بتمرير الملف من كتلة Start إلى كتلة Read CSV file :

Read CSV block

بعد ذلك ، أضف كتلة For Each Loop . سيعالج مصفوفة السلسلة التي ترسل كتلة Read CSV file .

Each Loop ، تمامًا مثل Read CSV file, يعالج كل عنصر من عناصر المصفوفة وينشط موصل Loop Body لكل منها.

حقل إخراج الفهرس في كتلة For Each Loop هو رقم الفهرس لعنصر الصفيف. يبدأ من 0.

قم بتوصيل جميع الموصلات:

For each loop block

الكتلة التالية هي Switch . بمساعدتها ، سنحدد مكان كتابة القيم من الحقول المختلفة.

يمكن أن Switch المحول أي نوع من المدخلات ويمكن ، بناءً على ذلك ، تنشيط موصلات إخراج مختلفة. يتم تنشيط الموصل Default إذا كانت قيمة الإدخال لا تتطابق مع أي من الموصلات التي تم إنشاؤها.

يحتوي ملف CSV على ثلاثة أعمدة ، مما يعني أن هناك ثلاث قيم مخزنة في كل مصفوفة من أعمدة الصف ، بنفس الترتيب دائمًا:

  1. رقم؛
  2. اتجاه؛
  3. الطبقات.

لذلك ، سننشئ ثلاثة موصلات إخراج في كتلة Switch 0 و 1 و 2 ونمرر الفهرس من كتلة For Each Loop إلى كتلة Switch .

switch block

يحتوي العمود الأول في الملف على رقم الرحلة. لكن كتلة For Each Loop تحصل عليها بتنسيق string . لذلك ، نقوم بتحويله إلى عدد صحيح باستخدام كتلة To integer قبل الحفظ. بعد ذلك ، احفظه في متغير باستخدام كتلة Set variable .

to integer block

يحتوي العمود الثاني في الملف على الاتجاه في تنسيق string . يمكن حفظه على الفور في متغير.

Set variable block

يحتوي العمود الثالث في الملف على قائمة بالفئات مفصولة بفواصل منقوطة. تحصل كتلة For Each Loop أيضًا على تنسيق السلسلة. لذا قم بتقسيمها إلى مجموعة من الأوتار. للقيام بذلك ، نستخدم كتلة Split String . دعنا نمرر سلسلة بقائمة الفئات فيها ونضع "؛" كفاصل افتراضي.

احفظ القيمة المستلمة في متغير.

Split string block

تم الانتهاء من إعداد حلقة عبر جميع قيم العمود في كل صف.

نحتاج إلى إنشاء إدخال من كل سطر في الملف. نستخدم موصل الإخراج المكتمل في كتلة For Each Loop وكتلة Make flight للقيام بذلك. دعنا ننقل جميع المتغيرات الواردة خلال الدورة إليها.

completed for each loop connector

الآن احفظ النموذج الذي تم إنشاؤه في Make flight باستخدام DB Create flight block.

DB create block

وبالتالي ، يتم حفظ كل صف كسجل في قاعدة البيانات.

الآن نحن بحاجة إلى إنهاء معالجة الملف. سنستخدم موصل الإخراج completed في كتلة Read CSV file بكتلة End .

completed read csv file

تم الانتهاء من BP للاستيراد من ملف.

إعداد Endpoint

انتقل إلى علامة التبويب Endpoints وأنشئ نقطة نهاية جديدة.

Creating endpoint

حدد طريقة POST ، واضبط URL ، وحدد Flight group ، و BP Import CSV الذي تم إنشاؤه.

إعداد زر على الواجهة الأمامية

نحتاج الآن إلى إعداد زر في الواجهة الأمامية لتحميل الملف.

اسحب عنصر File picker إلى اللوحة القماشية.

وقم بإعداد BP لذلك:

استخدم مشغل onSelectfiles . يستقبل هذا المشغل الملفات كمصفوفة ، حتى إذا كان هناك ملف واحد فقط. لذلك ، سوف نستخدم كتلة Array Element للحصول على عنصر واحد من المصفوفة. دعنا نضبط حقل الفهرس على 0 للحصول على العنصر الأول من المصفوفة.

الآن احفظ الملف الذي تم تحميله إلى قاعدة البيانات باستخدام Server request POST /_files/ block.

Server request post file

قم بتوسيع الملف الناتج باستخدام Expand file .

Expand file block

الآن قم بتمرير المعرف (وهو في هذه الحالة ملف) إلى Server request POST /flight/csv/ block.

Using custom endpoint on frontend

Was this article helpful?

AppMaster.io 101 حلقة دراسية مكثفة

10 وحدات
2 أسابيع

لست متأكدا من أين تبدأ؟ ابدأ في الدورة التدريبية المكثفة للمبتدئين واستكشف AppMaster من الألف إلى الياء.

ابدأ الدورة
Development it’s so easy with AppMaster!

هل تريد المزيد من المساعدة؟

حل أي مشكلة بمساعدة خبرائنا. وفر الوقت وركز على بناء تطبيقاتك.

headphones

اتصل بالدعم

أخبرنا عن مشكلتك ، وسنجد لك حلاً.

message

دردشة المجتمع

ناقش الأسئلة مع مستخدمين آخرين في محادثتنا.

الانضمام إلى المجتمع