CSV ( Comma Separated Values) est un format de stockage de tableau dans lequel les valeurs des cellules sont séparées par le symbole ",". Au lieu de ",", on peut utiliser un autre caractère comme séparateur. Cependant, AppMaster exige une virgule.

Il est important de s'assurer que ce caractère ne se trouve pas à l'intérieur de la cellule. Sinon, les données du fichier seront lues de manière incorrecte.

Tout d'abord, créez un modèle de données dans lequel les informations du fichier CSV seront enregistrées. Par exemple, créons un modèle de données pour les vols. Il contiendra les champs suivants

DB example

  • flight_no - le numéro de vol, au format entier ;
  • destination au format chaîne de caractères ;
  • classes - classe de vol disponible pour ce vol, au format array [string].

Un exemple de fichier qui sera importé :

File example

La première colonne contient flight_nola deuxième contient destinationet la troisième contient classes.

Dans la troisième colonne, les valeurs sont séparées par un point-virgule.

Créer un processus métier

Allez dans l'onglet Business Logic et cliquez sur le bouton Create Business Process bouton.

Creating BP

Ce processus d'entreprise nécessite un fichier CSV, ajoutez donc le champ fichier au bloc Start au bloc.

Creating variable

Ensuite, nous avons besoin du bloc Read CSV fichier.

De même, vous pouvez utiliser les blocs Read XLS file et Read XLSX file pour les formats correspondants.

Comment fonctionne le bloc Read CSV file:

Il possède deux connecteurs de sortie : Each Row et Completed. Lorsque le bloc est activé, il lit le fichier ligne par ligne, et à chaque fois, il active le connecteur Each Row et transmet le numéro de ligne (Row number, starting from 1) et Row Columns un tableau de chaînes de toutes les colonnes de la ligne actuelle.

Passez le fichier du bloc Start au bloc Read CSV file bloc :

Read CSV block

Ensuite, ajoutez le bloc For Each Loop au bloc . Il traitera le tableau de chaînes qui envoie le Read CSV file bloc.

Pour Each Looptout comme le bloc Read CSV file, traite chaque élément du tableau et active le connecteur Loop Body pour chacun d'eux.

Le champ de sortie de l'index dans le bloc For Each Loop est le numéro d'index de l'élément du tableau. Il commence à partir de 0.

Connectez tous les connecteurs :

For each loop block

Le bloc suivant est Switch. Avec son aide, nous allons déterminer où écrire les valeurs des différents champs.

Switch peut accepter tout type d'entrée et, en fonction de celle-ci, peut activer différents connecteurs de sortie. Le connecteur Default est activé si la valeur d'entrée ne correspond à aucun des connecteurs créés.

Le fichier CSV comporte trois colonnes, ce qui signifie qu'il y a trois valeurs stockées dans chaque tableau Row columns, toujours dans le même ordre :

  1. nombre ;
  2. direction ;
  3. classes.

Par conséquent, nous créerons trois connecteurs de sortie dans le bloc Switch 0, 1 et 2 et passerons l'index du bloc For Each Loop au bloc Switch bloc.

switch block

La première colonne du fichier contient le numéro de vol. Mais le bloc For Each Loop l'obtient dans le format string . Par conséquent, nous le convertissons en un nombre entier en utilisant le bloc To integer avant de le sauvegarder. Après cela, nous le sauvegardons dans une variable en utilisant le bloc Set variable dans une variable.

to integer block

La deuxième colonne du fichier contient la direction en string format. Elle peut être immédiatement sauvegardée dans une variable.

Set variable block

La troisième colonne du fichier contient une liste de classes séparées par des points-virgules. Le bloc For Each Loop l'obtient également au format chaîne de caractères. Il faut donc la diviser en un tableau de chaînes de caractères. Pour ce faire, nous utilisons le Split String pour le faire. Passons une chaîne de caractères contenant une liste de classes et définissons " ;" comme séparateur par défaut.

Enregistrez la valeur reçue dans une variable.

Split string block

Une configuration en boucle à travers toutes les valeurs des colonnes de chaque ligne est terminée.

Nous devons créer une entrée à partir de chaque ligne du fichier. Nous utilisons le connecteur de sortie complété dans le bloc For Each Loop et le bloc Make flight pour le faire. Transférons-y toutes les variables reçues au cours du cycle.

completed for each loop connector

Maintenant, sauvegardez le modèle créé dans Make flight en utilisant le bloc DB Create flight bloc.

DB create block

Ainsi, chaque ligne est sauvegardée comme un enregistrement dans la base de données.

Il nous faut maintenant terminer le traitement du fichier. Nous allons utiliser le completed connecteur de sortie dans le bloc Read CSV file et le connecter au bloc End bloc.

completed read csv file

La BP d'importation depuis un fichier est terminée.

Endpoint Configuration de

Allez à l'onglet Endpoints et créez un nouveau point de terminaison.

Creating endpoint

Sélectionnez la méthode POST , définissez l'adresse URL adresse, sélectionnez le Flight groupet le BP créé Import CSV.

Configuration d'un bouton sur le frontend

Maintenant nous devons mettre en place un bouton sur le front-end pour télécharger le fichier.

Faites glisser l'élément File picker sur le canevas.

Et configurer la BP pour celui-ci :

Utilisez le onSelectfiles trigger. Ce déclencheur reçoit les fichiers sous forme de tableau, même s'il n'y a qu'un seul fichier. Par conséquent, nous allons utiliser le bloc Array Element pour obtenir un élément du tableau. Définissons le champ index à 0 pour obtenir le premier élément du tableau.

Maintenant, sauvegardez le fichier téléchargé dans la base de données à l'aide du bloc Server request POST /_files/ .

Server request post file

Développez le fichier résultant à l'aide du bloc Expand file pour développer le fichier résultant.

Expand file block

Passez maintenant l'ID (qui dans ce cas est un fichier) au bloc Server request POST /flight/csv/ bloc.

Using custom endpoint on frontend

Was this article helpful?

AppMaster.io 101 Cours accéléré

10 Modules
2 Semaines

Vous ne savez pas par où commencer ? Lancez-vous avec notre cours accéléré pour débutants et explorez AppMaster de A à Z.

Début du cours
Development it’s so easy with AppMaster!

Besoin d'aide?

Résolvez n'importe quel problème avec l'aide de nos experts. Gagnez du temps et concentrez-vous sur la création de vos applications.

headphones

Contactez le support

Parlez-nous de votre problème et nous vous trouverons une solution.

message

Chat communautaire

Discutez de questions avec d'autres utilisateurs dans notre chat.

Rejoindre la Communauté