Kursus Singkat 101
10 Modul
5 Minggu

Siklus. Impor file Excel

Klik untuk menyalin

Menggunakan siklus dalam proses bisnis. Membaca data dari file Excel.


Untuk memahami proses selanjutnya, perlu sedikit menyimpang ke dalam teori dan memahami prinsip siklus. Sebelumnya, semua proses kami hanya maju. Mereka dapat memilih fork tertentu (pada blok If-Else dan Switch ), tetapi kami tahu pasti bahwa setiap blok akan dieksekusi hanya sekali; tidak akan ada jalan kembali.

Siklus

Siklus memberikan kemampuan untuk mengulang bagian tertentu beberapa kali. Proses dibuat sehingga urutan blok yang dipilih dieksekusi berulang-ulang. Sampai kondisi untuk mengakhiri loop terpenuhi.

AppMaster memberi Anda kemampuan untuk menggunakan tiga jenis siklus yang berbeda. Prinsip kerja mereka benar-benar sama. Kondisi untuk mengakhiri loop adalah satu-satunya hal yang membedakan mereka satu sama lain.

  • Loop . Yang paling sederhana dari semua siklus. Parameter Times (Integer) -nya menetapkan nilai tetap untuk berapa kali loop yang diberikan harus dieksekusi.
  • While loop . Sebuah loop yang akan berjalan sampai kondisi tertentu terpenuhi. Kondisi ini ditentukan dalam parameter Condition (Boolean) . Pada awal setiap loop, nilai Condition diperiksa; jika True , maka loop dieksekusi; jika False , maka loop berhenti. Parameter Limit (Integer) menetapkan batas jumlah pengulangan loop untuk memastikan bahwa loop tidak berjalan selamanya. Ketika tercapai, loop akan berakhir, terlepas dari nilai Condition .
  • For each loop . Loop dirancang untuk bekerja dengan array. Dibutuhkan array sebagai input dan memungkinkan Anda untuk melakukan operasi tertentu pada setiap elemen array. Berjalan sebanyak ada elemen dalam array.

Setiap siklus memiliki dua aliran keluaran.

  • Loop Body . Tubuh lingkaran itu sendiri. Proses itu, yang akan diulang beberapa kali yang diperlukan.
  • Completed . Utas akan berjalan ketika loop berakhir. Menentukan apa yang harus dilakukan selanjutnya setelah loop selesai. Omong-omong, siklus apa pun dapat diselesaikan sesuai perintah tanpa menunggu kondisi awal terpenuhi. Untuk melakukan ini, Anda hanya perlu menggunakan blok Break Loop di tempat yang tepat. Ini akan segera mentransfer aliran ke Completed .

Read XLSX File

Untuk analisis file xlsx, kita akan menggunakan blok Read XLSX File . Prinsip operasinya hampir mirip dengan blok For each loop . Ini mewakili file tabel sebagai array string. Dan setiap baris, pada gilirannya, juga merupakan larik, tetapi sudah merupakan larik kolom dari baris yang diberikan.


File xlsx itu sendiri disajikan dalam bentuk yang serupa. Kolom pertama berisi nama bagian, dan kolom kedua berisi informasi yang dikandung bagian ini. Pada saat yang sama, kita sama sekali tidak mengetahui baris di mana informasi itu ditulis; itu bisa muncul di sembarang tempat. Dalam contoh ini, biografi ditunjukkan pada baris kedua, dan login pada kedelapan, tetapi baris dan urutan penulisannya dapat berupa apa saja.

Proses bisnis dimulai dengan menerima file sebagai parameter input. Harap dicatat bahwa itu adalah tipe data file, yaitu ID file, yang ditransmisikan dan bukan seluruh file. Kami meneruskan file yang sama ke blok Read XLSX File .


Each row , dalam hal ini, adalah analog dari Loop Body . Ini berarti bahwa loop akan dieksekusi sebanyak baris dalam file xlsx. Pada saat yang sama, setiap siklus, kami menerima informasi tentang baris mana yang sedang diproses sekarang ( Row number ), serta kolom apa yang ada di baris ini ( Row columns ).

Tugas kita adalah memeriksa sel pertama dari setiap baris. Kami berharap menemukan sel yang bertuliskan "Masuk" atau "Bio". Dengan cara ini, kami akan memahami bahwa kami telah menemukan kolom dengan informasi yang diperlukan.

Untuk melakukan ini, kita memerlukan blok Array Element dengan indeks 0. Beginilah cara kita mendapatkan isi sel pertama dari string. Setelah itu, kami menggunakan blok Switch untuk menemukan kecocokan yang diinginkan (Login, Bio).

Jika tidak ada kecocokan yang ditemukan, maka perulangan menuju ke iterasi berikutnya, memeriksa baris berikutnya. Jika ditemukan, maka kami memahami bahwa sel kedua dari baris ini harus berisi informasi yang kami butuhkan dan menggunakan blok Array Element lagi (tetapi dengan indeks 1) untuk mendapatkan informasi ini.

Tetap hanya untuk menyimpan informasi ini. Lagi pula, jika Anda tidak segera melakukan ini, maka siklus akan terus berlanjut, dan data yang diterima akan hilang.

Variabel

Solusi terbaik dalam situasi ini adalah dengan menggunakan variabel. Maknanya terletak pada kenyataan bahwa nilai-nilai tertentu tidak langsung ditransfer dari satu blok ke blok lain tetapi disimpan dalam memori dan digunakan jika perlu.

Ada dua blok untuk ini:

  • Blok Variable . Itu bisa berupa angka, string, atau bahkan array objek apa pun. Penting untuk dipahami bahwa blok ini sendiri tidak melakukan apa-apa; tidak memiliki parameter masukan. Ini hanya berfungsi untuk mengumumkan fakta bahwa suatu tempat dialokasikan dalam memori untuk menulis beberapa nilai, dengan kemungkinan untuk kemudian merujuknya lagi dan menemukan nilai ini.
  • Blok Set Variable dirancang untuk menulis nilai baru ke variabel.

Dalam kasus kami, kami akan mendefinisikan dua variabel tipe String dan menulis nilai yang ditemukan ke dalamnya, di satu tempat Login, dan di Bio kedua. Di akhir loop, kita hanya perlu meneruskan nilai dari variabel-variabel ini ke blok akhir.


Sekarang saatnya untuk membuat titik akhir untuk proses bisnis yang telah selesai dan dengan demikian membuatnya tersedia untuk digunakan pada aplikasi web front-end.


Hasil akhir

Akibatnya proses bisnis harus seperti ini:


Ada sentuhan akhir untuk menyelesaikan pembuatan aplikasi. Mari kembali ke proses bisnis frontend dan selesaikan. Kita butuh:

  • Lewati model file xlsx untuk disimpan ke server.
  • Perluas hasilnya dan dapatkan ID file.
  • Berikan ID ini ke POST /xlsx-data/
  • Gunakan data yang diterima untuk ditampilkan di bidang yang sesuai (dan juga untuk mengatur ulang parameter Disable , membuka kemungkinan untuk mengedit).

Jika semuanya dilakukan dengan benar, versi final akan terlihat seperti ini setelah memuat informasi dari file.

Was this article helpful?
Masih mencari jawaban?