CSV ( Comma Separated Values ) adalah format penyimpanan tabel di mana nilai sel dipisahkan oleh simbol ",". Alih-alih "," pemisah dapat digunakan karakter lain. Meskipun, AppMaster membutuhkan koma.

Penting untuk memastikan bahwa karakter ini tidak muncul di dalam sel. Jika tidak, data file akan salah terbaca.

Pertama, buat model data tempat informasi dari file CSV akan disimpan. Sebagai contoh, mari kita membuat model data untuk penerbangan. Ini akan berisi bidang-bidang berikut:

DB example

  • flight_no - nomor penerbangan, dalam format bilangan bulat;
  • tujuan dalam format string;
  • kelas - kelas penerbangan tersedia untuk penerbangan ini, format array[string].

Contoh file yang akan diimport:

File example

Kolom pertama berisi flight_no , kolom kedua berisi destination , dan kolom ketiga berisi classes .

Di kolom ketiga, nilai dipisahkan dengan titik koma.

Buat proses bisnis

Buka tab Business Logic dan klik tombol Create Business Process .

Creating BP

Proses bisnis ini membutuhkan file CSV, jadi tambahkan bidang file ke blok Start .

Creating variable

Selanjutnya, kita membutuhkan blok file Read CSV .

Demikian pula, Anda dapat menggunakan Read XLS file dan blok Read XLSX file untuk format yang sesuai.

Cara kerja blok Read CSV file :

Ini memiliki dua konektor output: Each Row dan Completed. Ketika blok diaktifkan, itu akan membaca file baris demi baris, dan setiap kali itu akan mengaktifkan konektor Each Row dan meneruskan nomor baris (Nomor baris, mulai dari 1) dan Kolom Baris array string dari semua kolom saat ini baris.

Lewati file dari blok Start ke blok Read CSV file :

Read CSV block

Selanjutnya, tambahkan blok For Each Loop . Ini akan memproses array string yang mengirimkan blok Read CSV file .

Untuk Each Loop , sama seperti file Read CSV file, memproses setiap elemen larik dan mengaktifkan konektor Loop Body untuk masing-masing elemen tersebut.

Bidang keluaran indeks di blok For Each Loop adalah nomor indeks elemen larik. Ini dimulai dari 0.

Hubungkan semua konektor:

For each loop block

Blok berikutnya adalah Switch . Dengan bantuannya, kami akan menentukan tempat untuk menulis nilai dari berbagai bidang.

Switch dapat menerima semua jenis input dan, tergantung padanya, dapat mengaktifkan konektor output yang berbeda. Konektor Default diaktifkan jika nilai input tidak cocok dengan konektor yang dibuat.

File CSV memiliki tiga kolom, yang berarti ada tiga nilai yang disimpan di setiap larik kolom Baris, selalu dalam urutan yang sama:

  1. nomor;
  2. arah;
  3. kelas.

Oleh karena itu, kami akan membuat tiga konektor output di blok Switch 0, 1, dan 2 dan meneruskan indeks dari blok For Each Loop ke blok Switch .

switch block

Kolom pertama dalam file berisi nomor penerbangan. Tetapi blok For Each Loop mendapatkannya dalam format string . Oleh karena itu, kami mengubahnya menjadi integer menggunakan blok To integer sebelum menyimpan. Setelah itu, simpan ke variabel menggunakan blok Set variable .

to integer block

Kolom kedua dalam file berisi arah dalam format string . Itu dapat segera disimpan ke variabel.

Set variable block

Kolom ketiga dalam file berisi daftar kelas yang dipisahkan oleh titik koma. Blok For Each Loop juga mendapatkannya dalam format string. Jadi pisahkan menjadi array string. Untuk melakukan ini, kami menggunakan blok Split String . Mari kita berikan string dengan daftar kelas ke dalamnya dan atur ";" sebagai pemisah default.

Simpan nilai yang diterima ke dalam variabel.

Split string block

Pengaturan loop melalui semua nilai kolom di setiap baris selesai.

Kita perlu membuat entri dari setiap baris dalam file. Kami menggunakan konektor output lengkap di blok For Each Loop dan blok Make flight untuk melakukan ini. Mari kita transfer semua variabel yang diterima selama siklus ke sana.

completed for each loop connector

Sekarang simpan model yang dibuat di Make flight menggunakan DB Create flight block.

DB create block

Dengan demikian, setiap baris disimpan sebagai catatan dalam database.

Sekarang kita perlu menyelesaikan pemrosesan file. Kami akan menggunakan konektor output yang completed di blok Read CSV file dan menghubungkannya ke blok End .

completed read csv file

BP untuk mengimpor dari file selesai.

Pengaturan Endpoint akhir

Buka tab Endpoints dan buat endpoint baru.

Creating endpoint

Pilih metode POST , atur alamat URL , pilih Flight group , dan Import CSV BP yang dibuat.

Menyiapkan tombol di frontend

Sekarang kita perlu mengatur tombol di ujung depan untuk mengunggah file.

Seret elemen File picker ke kanvas.

Dan atur BP untuk itu:

Gunakan pemicu onSelectfiles . Pemicu ini menerima file sebagai larik, meskipun hanya ada satu file. Oleh karena itu, kita akan menggunakan blok Array Element untuk mendapatkan satu elemen dari array. Mari kita atur bidang indeks ke 0 untuk mendapatkan elemen pertama dari array.

Sekarang simpan file yang diunggah ke database menggunakan blok Server request POST /_files/ .

Server request post file

Perluas file yang dihasilkan menggunakan blok Expand file .

Expand file block

Sekarang berikan ID (yang dalam hal ini adalah file) ke blok Server request POST /flight/csv/ .

Using custom endpoint on frontend

Was this article helpful?

AppMaster.io 101 Kursus kilat

10 Modul
2 Minggu

Tidak yakin harus mulai dari mana? Mulailah dengan kursus kilat kami untuk pemula dan jelajahi AppMaster dari A sampai Z.

Mulai Kursus
Development it’s so easy with AppMaster!

Butuh lebih banyak bantuan?

Selesaikan masalah apa pun dengan bantuan para ahli kami. Hemat waktu dan fokus untuk membangun aplikasi Anda.

headphones

Hubungi dukungan

Beritahu kami tentang masalah Anda, dan kami akan menemukan solusi untuk Anda.

message

Obrolan Komunitas

Diskusikan pertanyaan dengan pengguna lain di obrolan kami.

Bergabunglah dengan komunitas