CSV (Giá trị được phân Comma Separated Values ) là định dạng lưu trữ bảng trong đó các giá trị ô được phân tách bằng ký hiệu “,”. Thay vì dấu phân cách “,” có thể sử dụng một ký tự khác. Mặc dù, AppMaster yêu cầu dấu phẩy.

Điều quan trọng là phải đảm bảo rằng ký tự này không xuất hiện bên trong ô. Nếu không, dữ liệu tệp sẽ được đọc không chính xác.

Trước tiên, hãy tạo một mô hình dữ liệu để lưu thông tin từ tệp CSV. Ví dụ: hãy tạo một mô hình dữ liệu cho các chuyến bay. Nó sẽ chứa các trường sau:

DB example

  • flight_no - số hiệu chuyến bay, ở định dạng số nguyên;
  • đích ở định dạng chuỗi;
  • lớp - hạng chuyến bay có sẵn cho chuyến bay này, định dạng mảng[chuỗi].

Một ví dụ về tệp sẽ được nhập:

File example

Cột đầu tiên chứa flight_no , cột thứ hai chứa destination và cột thứ ba chứa classes .

Trong cột thứ ba, các giá trị được phân tách bằng dấu chấm phẩy.

Tạo quy trình kinh doanh

Chuyển đến tab Business Logic và nhấp vào nút Create Business Process .

Creating BP

Quy trình công việc này cần tệp CSV, vì vậy hãy thêm trường tệp vào khối Start .

Creating variable

Tiếp theo, chúng ta cần khối Read CSV .

Tương tự, bạn có thể sử dụng các khối Read XLS fileRead XLSX file cho các định dạng tương ứng.

Cách hoạt động của khối Read CSV file :

Nó có hai đầu nối đầu ra: Each RowCompleted. Khi khối được kích hoạt, nó sẽ đọc tệp theo từng dòng và mỗi lần nó sẽ kích hoạt trình kết nối Each Row và chuyển số hàng (Số hàng, bắt đầu từ 1) và Cột hàng một mảng chuỗi gồm tất cả các cột của hiện tại hàng ngang.

Chuyển tệp từ khối Start sang khối Read CSV file :

Read CSV block

Tiếp theo, thêm khối For Each Loop . Nó sẽ xử lý mảng chuỗi gửi khối Read CSV file .

Đối với Each Loop , giống như Read CSV file, xử lý từng phần tử của mảng và kích hoạt trình kết nối Nội dung Loop Body cho từng phần tử đó.

Trường đầu ra chỉ mục trong khối For Each Loop là số chỉ mục của phần tử mảng. Nó bắt đầu từ 0.

Kết nối tất cả các đầu nối:

For each loop block

Khối tiếp theo là Switch . Với sự trợ giúp của nó, chúng tôi sẽ xác định nơi ghi các giá trị từ các trường khác nhau.

Switch có thể chấp nhận bất kỳ loại đầu vào nào và tùy thuộc vào nó, có thể kích hoạt các đầu nối đầu ra khác nhau. Trình kết nối Default được kích hoạt nếu giá trị đầu vào không khớp với bất kỳ trình kết nối nào đã tạo.

Tệp CSV có ba cột, nghĩa là có ba giá trị được lưu trữ trong mỗi mảng Hàng cột, luôn theo cùng một thứ tự:

  1. con số;
  2. hướng đi;
  3. các lớp học.

Do đó, chúng tôi sẽ tạo ba đầu nối đầu ra trong khối Switch 0, 1 và 2 và chuyển chỉ mục từ khối For Each Loop sang khối Switch .

switch block

Cột đầu tiên trong tệp chứa số chuyến bay. Nhưng khối For Each Loop lấy nó ở định dạng string . Do đó, chúng tôi chuyển đổi nó thành một số nguyên bằng cách sử dụng khối To integer trước khi lưu. Sau đó, lưu nó vào một biến bằng cách sử dụng khối Set variable .

to integer block

Cột thứ hai trong tệp chứa hướng ở định dạng string . Nó có thể được lưu ngay lập tức vào một biến.

Set variable block

Cột thứ ba trong tệp chứa danh sách các lớp được phân tách bằng dấu chấm phẩy. Khối For Each Loop cũng lấy nó ở định dạng chuỗi. Vì vậy, hãy chia nó thành một chuỗi các chuỗi. Để làm điều này, chúng ta sử dụng khối Split String . Hãy chuyển một chuỗi có danh sách các lớp vào đó và đặt ";" làm dấu phân cách mặc định.

Lưu giá trị nhận được vào một biến.

Split string block

Một vòng lặp thiết lập thông qua tất cả các giá trị cột trong mỗi hàng đã kết thúc.

Chúng ta cần tạo một mục nhập từ mỗi dòng trong tệp. Chúng tôi sử dụng trình kết nối đầu ra đã hoàn thành trong khối For Each Loop và khối Make flight để thực hiện việc này. Hãy chuyển tất cả các biến nhận được trong chu kỳ sang nó.

completed for each loop connector

Bây giờ hãy lưu mô hình đã tạo trong Make flight bằng cách sử dụng khối DB Create flight .

DB create block

Do đó, mỗi hàng được lưu dưới dạng một bản ghi trong cơ sở dữ liệu.

Bây giờ chúng ta cần xử lý xong tệp. Chúng tôi sẽ sử dụng trình kết nối đầu ra completed trong khối Read CSV file và kết nối nó với khối End .

completed read csv file

BP để nhập từ một tệp đã hoàn tất.

thiết lập Endpoint

Chuyển đến tab Điểm Endpoints và tạo điểm cuối mới.

Creating endpoint

Chọn phương thức POST , đặt địa chỉ URL , chọn Flight group và BP Import CSV đã tạo.

Thiết lập một nút trên giao diện người dùng

Bây giờ chúng ta cần thiết lập một nút ở giao diện người dùng để tải tệp lên.

Kéo phần tử Bộ File picker vào khung vẽ.

Và thiết lập BP cho nó:

Sử dụng trình kích hoạt onSelectfiles . Trình kích hoạt này nhận các tệp dưới dạng một mảng, ngay cả khi chỉ có một tệp. Do đó, chúng ta sẽ sử dụng khối Array Element để lấy một phần tử từ mảng. Hãy đặt trường chỉ mục thành 0 để lấy phần tử đầu tiên từ mảng.

Bây giờ hãy lưu tệp đã tải lên vào cơ sở dữ liệu bằng cách sử dụng khối Server request POST /_files/ .

Server request post file

Mở rộng tệp kết quả bằng khối Expand file .

Expand file block

Bây giờ hãy chuyển ID (trong trường hợp này là một tệp) cho khối Server request POST /flight/csv/ .

Using custom endpoint on frontend

Was this article helpful?

AppMaster.io 101 Khóa học tai nạn

10 Mô-đun
2 Tuần

Không biết chắc nên bắt đầu từ đâu? Bắt đầu với khóa học sụp đổ của chúng tôi dành cho người mới bắt đầu và khám phá AppMaster từ A đến Z.

Bắt đầu khóa học
Development it’s so easy with AppMaster!

Cần sự giúp đỡ nhiều hơn?

Giải quyết mọi vấn đề với sự giúp đỡ của các chuyên gia của chúng tôi. Tiết kiệm thời gian và tập trung vào việc xây dựng các ứng dụng của bạn.

headphones

Liên hệ hỗ trợ

Hãy cho chúng tôi biết về vấn đề của bạn và chúng tôi sẽ tìm ra giải pháp cho bạn.

message

trò chuyện cộng đồng

Thảo luận câu hỏi với những người dùng khác trong cuộc trò chuyện của chúng tôi.

Tham gia cộng đồng