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

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/ บล็อก

Server request post file

ขยายไฟล์ผลลัพธ์โดยใช้บล็อก Expand file

Expand file block

ตอนนี้ส่ง ID (ซึ่งในกรณีนี้คือไฟล์) ไปยัง Server request POST /flight/csv/ block

Using custom endpoint on frontend

Was this article helpful?

AppMaster.io 101 หลักสูตรความผิดพลาด

10 โมดูล
2 สัปดาห์ที่ผ่านมา

ไม่แน่ใจว่าจะเริ่มต้นที่ไหน? เริ่มต้นด้วยหลักสูตรเร่งรัดสำหรับผู้เริ่มต้นและสำรวจ AppMaster จาก A ถึง Z

เริ่มหลักสูตร
Development it’s so easy with AppMaster!

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่?

แก้ปัญหาด้วยความช่วยเหลือจากผู้เชี่ยวชาญของเรา ประหยัดเวลาและมุ่งเน้นที่การสร้างแอปพลิเคชันของคุณ

headphones

ติดต่อฝ่ายสนับสนุน

บอกเราเกี่ยวกับปัญหาของคุณ แล้วเราจะหาทางแก้ไขให้คุณ

message

ชุมชนแชท

สนทนาคำถามกับผู้ใช้รายอื่นในการแชทของเรา

เข้าร่วมชุมชน