หลักสูตรความผิดพลาด 101
10 โมดูล
5 สัปดาห์ที่ผ่านมา

รอบ นำเข้าไฟล์ Excel

คลิกเพื่อคัดลอก

การใช้วงจรในกระบวนการทางธุรกิจ อ่านข้อมูลจากไฟล์ Excel


เพื่อให้เข้าใจกระบวนการต่อไป จำเป็นต้องเจาะลึกทฤษฎีและเข้าใจหลักการของวัฏจักรเล็กน้อย ก่อนหน้านี้ กระบวนการทั้งหมดของเราดำเนินไปข้างหน้าเท่านั้น พวกเขาสามารถเลือกทางแยกเฉพาะ (บนบล็อก If-Else และ Switch ) แต่เรารู้แน่นอนว่าแต่ละบล็อกจะถูกดำเนินการเพียงครั้งเดียว จะไม่มีการย้อนกลับ

รอบ

รอบให้ความสามารถในการทำซ้ำส่วนใดส่วนหนึ่งหลายครั้ง กระบวนการถูกสร้างขึ้นเพื่อให้ลำดับบล็อกที่เลือกถูกดำเนินการซ้ำแล้วซ้ำอีก จนกว่าจะครบเงื่อนไขในการยุติการวนซ้ำ

AppMaster ช่วยให้คุณสามารถใช้วงจรได้สามประเภท หลักการทำงานของพวกเขาเหมือนกันทุกประการ เงื่อนไขในการยุติการวนซ้ำเป็นสิ่งเดียวที่แยกความแตกต่างออกจากกัน

  • Loop ที่ง่ายที่สุดของวงจรทั้งหมด พารามิเตอร์ Times (Integer) ตั้งค่าคงที่สำหรับจำนวนครั้งที่ควรดำเนินการลูปที่กำหนด
  • While loop ลูปที่จะทำงานจนกว่าจะตรงตามเงื่อนไขที่กำหนด เงื่อนไขนี้ระบุไว้ในพารามิเตอร์ Condition (Boolean) ที่จุดเริ่มต้นของแต่ละลูป ค่า Condition จะถูกตรวจสอบ หากเป็น True การวนซ้ำจะถูกดำเนินการ หากเป็น False การวนซ้ำจะหยุดลง พารามิเตอร์ Limit (Integer) กำหนดขีดจำกัดของจำนวนการวนซ้ำเพื่อให้แน่ใจว่าการวนซ้ำจะไม่ทำงานตลอดไป เมื่อถึงจุดสิ้นสุด การวนซ้ำจะสิ้นสุดลงโดยไม่คำนึงถึงค่าของ Condition
  • For each loop ลูปออกแบบมาเพื่อทำงานกับอาร์เรย์ ใช้อาร์เรย์เป็นอินพุตและอนุญาตให้คุณดำเนินการบางอย่างกับองค์ประกอบอาร์เรย์แต่ละรายการ เรียกใช้หลาย ๆ ครั้งตามที่มีองค์ประกอบในอาร์เรย์

แต่ละรอบมีกระแสข้อมูลออกสองกระแส

  • Loop Body . ตัวห่วงนั่นเอง กระบวนการนั้นซึ่งจะถูกทำซ้ำตามจำนวนครั้งที่จำเป็น
  • Completed เธรดจะทำงานเมื่อลูปสิ้นสุด ระบุสิ่งที่ต้องทำต่อไปหลังจากการวนซ้ำเสร็จสิ้น อย่างไรก็ตาม วัฏจักรใดๆ สามารถทำได้ตามคำสั่งโดยไม่ต้องรอให้ตรงตามเงื่อนไขเริ่มต้น ในการทำเช่นนี้ คุณเพียงแค่ต้องใช้บล็อก Break Loop ในตำแหน่งที่ถูกต้อง มันจะถ่ายโอนสตรีมไปที่ Completed ทันที

Read XLSX File

สำหรับการวิเคราะห์ไฟล์ xlsx เราจะใช้บล็อก Read XLSX File หลักการทำงานเกือบจะคล้ายกับ For each loop block มันแทนไฟล์ตารางเป็นอาร์เรย์ของสตริง และแต่ละแถวก็เป็นอาร์เรย์เช่นกัน แต่เป็นอาร์เรย์ของคอลัมน์ของแถวที่กำหนดอยู่แล้ว


ไฟล์ xlsx นั้นแสดงในรูปแบบที่คล้ายกัน คอลัมน์แรกประกอบด้วยชื่อของส่วน และคอลัมน์ที่สองประกอบด้วยข้อมูลที่ประกอบด้วยส่วนนี้ ในเวลาเดียวกัน เราไม่รู้ล่วงหน้าว่าบรรทัดใดที่เขียนข้อมูลไว้เลย มันสามารถปรากฏในที่ใดก็ได้โดยพลการ ในตัวอย่างนี้ ชีวประวัติถูกระบุไว้ในบรรทัดที่สอง และการเข้าสู่ระบบอยู่ที่บรรทัดที่แปด แต่บรรทัดและลำดับที่เขียนสามารถเป็นอะไรก็ได้

กระบวนการทางธุรกิจเริ่มต้นด้วยการรับไฟล์เป็นพารามิเตอร์อินพุต โปรดทราบว่าเป็นประเภทข้อมูลไฟล์ ซึ่งก็คือรหัสไฟล์ ที่ถูกส่ง ไม่ใช่ทั้งไฟล์ เราส่งไฟล์เดียวกันไปยังบล็อก Read XLSX File


Each row ในกรณีนี้คืออะนาล็อกของ Loop Body ซึ่งหมายความว่าการวนซ้ำจะถูกดำเนินการหลายครั้งตามจำนวนแถวในไฟล์ xlsx ในเวลาเดียวกัน ในแต่ละรอบ เราได้รับข้อมูลเกี่ยวกับแถวที่กำลังดำเนินการในขณะนี้ ( Row number ) รวมถึงคอลัมน์ที่อยู่ในแถวนี้ ( Row columns )

งานของเราคือตรวจสอบเซลล์แรกของแต่ละแถว เราคาดว่าจะพบเซลล์ที่ระบุว่า "เข้าสู่ระบบ" หรือ "ประวัติ" ด้วยวิธีนี้เราจะเข้าใจว่าเราพบคอลัมน์ที่มีข้อมูลที่จำเป็น

ในการทำเช่นนี้ เราจำเป็นต้องมีบล็อก Array Element ที่มีดัชนีเป็น 0 นี่คือวิธีที่เราได้รับเนื้อหาของเซลล์แรกของสตริง หลังจากนั้นเราใช้บล็อก Switch เพื่อค้นหาคู่ที่ต้องการ (เข้าสู่ระบบ, ประวัติ)

หากไม่พบการจับคู่ดังกล่าว การวนซ้ำจะไปที่การวนซ้ำถัดไป โดยตรวจสอบแถวถัดไป หากพบเราเข้าใจว่าเซลล์ที่สองของแถวนี้ควรมีข้อมูลที่เราต้องการและใช้บล็อก Array Element อีกครั้ง (แต่มีดัชนี 1) เพื่อรับข้อมูลนี้

ยังคงเป็นเพียงการบันทึกข้อมูลนี้ ท้ายที่สุด หากคุณไม่ดำเนินการทันที วัฏจักรก็จะดำเนินต่อไป และข้อมูลที่ได้รับจะหายไป

ตัวแปร

ทางออกที่ดีที่สุดในสถานการณ์นี้คือการใช้ตัวแปร ความหมายของพวกเขาอยู่ที่ความจริงที่ว่าค่าบางอย่างไม่ได้ถูกถ่ายโอนทันทีจากบล็อกหนึ่งไปยังอีกบล็อกหนึ่ง แต่จะถูกเก็บไว้ในหน่วยความจำและใช้ในกรณีที่จำเป็น

มีสองบล็อกสำหรับสิ่งนี้:

  • บล็อก Variable อาจเป็นตัวเลข สตริง หรือแม้แต่อาร์เรย์ของออบเจกต์ก็ได้ สิ่งสำคัญคือต้องเข้าใจว่าบล็อกนี้ไม่ได้ทำอะไรเลย ไม่มีพารามิเตอร์อินพุต ทำหน้าที่เพียงเพื่อประกาศความจริงที่ว่ามีการจัดสรรสถานที่ในหน่วยความจำสำหรับเขียนค่าบางอย่าง โดยมีความเป็นไปได้ที่จะอ้างอิงอีกครั้งในภายหลังและค้นหาค่านี้
  • บล็อก Set Variable ออกแบบมาเพื่อเขียนค่าใหม่ให้กับตัวแปร

ในกรณีของเรา เราจะกำหนดตัวแปรประเภท String สองตัวและเขียนค่าที่พบลงในตัวแปรเหล่านั้น ในที่เดียว เข้าสู่ระบบ และในประวัติที่สอง เมื่อสิ้นสุดการวนซ้ำ เราเพียงแค่ส่งค่าจากตัวแปรเหล่านี้ไปยังบล็อกสุดท้ายเท่านั้น


ถึงเวลาสร้างจุดสิ้นสุดสำหรับกระบวนการทางธุรกิจที่เสร็จสิ้นแล้ว และทำให้พร้อมใช้งานบนเว็บแอปพลิเคชันส่วนหน้า


ผลลัพธ์สุดท้าย

ดังนั้น กระบวนการทางธุรกิจควรเป็นดังนี้:


มีขั้นตอนสุดท้ายในการสร้างแอปพลิเคชันให้เสร็จสมบูรณ์ กลับไปที่กระบวนการธุรกิจส่วนหน้าและทำมันให้เสร็จ พวกเราต้องการ:

  • ส่งรูปแบบไฟล์ xlsx เพื่อบันทึกไปยังเซิร์ฟเวอร์
  • ขยายผลลัพธ์และรับรหัสไฟล์
  • ส่ง ID นี้ไปยังปลายทาง POST /xlsx-data/ สร้างไว้ก่อนหน้านี้
  • ใช้ข้อมูลที่ได้รับเพื่อแสดงในช่องที่เหมาะสม (และเพื่อรีเซ็ตพารามิเตอร์ Disable ซึ่งเปิดโอกาสให้แก้ไขได้)

หากทำทุกอย่างถูกต้อง เวอร์ชันสุดท้ายควรมีลักษณะดังนี้หลังจากโหลดข้อมูลจากไฟล์

Was this article helpful?
ยังคงมองหาคำตอบ?