CSV ( Comma Separated Values) é um formato de armazenamento de tabela no qual os valores das células são separados pelo símbolo ",". Em vez de "," o separador pode ser utilizado outro carácter. Embora, AppMaster requer uma vírgula.

É importante assegurar que este carácter não ocorra dentro da célula. Caso contrário, os dados do ficheiro serão lidos de forma incorrecta.

Primeiro, criar um modelo de dados onde a informação do ficheiro CSV será guardada. Por exemplo, vamos fazer um modelo de dados para voos. Este conterá os seguintes campos:

DB example

  • flight_no - número de voo, em formato inteiro;
  • destino em formato de string;
  • classes - classe de voo disponível para este voo, formato de matriz[string].

Um exemplo de um ficheiro que será importado:

File example

A primeira coluna contém flight_noo segundo contém destinatione o terceiro contém classes.

Na terceira coluna, os valores são separados por ponto-e-vírgula.

Criar um processo de negócio

Ir para o Business Logic e clique no separador Create Business Process botão.

Creating BP

Este processo empresarial necessita de um ficheiro CSV, por isso adicione o campo do ficheiro ao botão Start bloco.

Creating variable

A seguir, precisamos do bloco Read CSV bloco de ficheiro.

Da mesma forma, pode utilizar os blocos Read XLS file e Read XLSX file para os formatos correspondentes.

Como funciona o bloco Read CSV file:

Tem dois conectores de saída: Each Row e Completed. Quando o bloco é activado, lerá o ficheiro linha a linha, e cada vez que activar o Each Row e passar o número da linha (Número da linha, a partir de 1) e Colunas da linha um conjunto de cordas de todas as colunas da linha actual.

Passa o ficheiro a partir do Start bloco para o Read CSV file bloco:

Read CSV block

A seguir, adicione o bloco For Each Loop bloco. Processará a matriz de cordas que envia o Read CSV file bloco.

Para Each Looptal como a Read CSV file, processa cada elemento da matriz e activa o Loop Body conector para cada um deles.

O campo de saída do índice no bloco For Each Loop é o número do índice do elemento da matriz. Começa a partir de 0.

Ligue todos os conectores:

For each loop block

O bloco seguinte é Switch. Com a sua ajuda, iremos determinar onde escrever os valores de diferentes campos.

Switch pode aceitar qualquer tipo de entrada e, dependendo dela, pode activar diferentes conectores de saída. O Default é activado se o valor de entrada não corresponder a nenhum dos conectores criados.

O ficheiro CSV tem três colunas, o que significa que existem três valores guardados em cada matriz de colunas de linha, sempre na mesma ordem:

  1. número;
  2. direcção;
  3. classes.

Por conseguinte, iremos criar três conectores de saída no Switch bloco 0, 1, e 2 e passar o índice a partir do For Each Loop bloco para o Switch bloco.

switch block

A primeira coluna do ficheiro contém o número do voo. Mas o For Each Loop bloco recebe-o no string formato. Por conseguinte, convertemo-lo para um número inteiro utilizando o To integer bloco antes de guardar. Depois disso, guardá-lo numa variável utilizando o Set variable bloco.

to integer block

A segunda coluna do ficheiro contém a direcção em string formato. Pode ser imediatamente guardado a uma variável.

Set variable block

A terceira coluna do ficheiro contém uma lista de classes separadas por ponto-e-vírgula. O For Each Loop bloco também o recebe no formato de cordel. Por isso, divide-o num conjunto de cordas. Para o fazer, utilizamos o Split String bloco. Vamos passar-lhe um fio com uma lista de classes e definir ";" como o separador padrão.

Guardar o valor recebido numa variável.

Split string block

Uma configuração de loop através de todos os valores das colunas em cada linha está terminada.

Precisamos de criar uma entrada a partir de cada linha do ficheiro. Utilizamos o conector de saída completo no ficheiro For Each Loop bloco e o Make flight bloco para o fazer. Vamos transferir para ele todas as variáveis recebidas durante o ciclo.

completed for each loop connector

Agora salve o modelo criado em Make flight utilizando o DB Create flight bloco.

DB create block

Assim, cada linha é guardada como um registo na base de dados.

Agora precisamos de terminar o processamento do ficheiro. Vamos utilizar o completed conector de saída no Read CSV file bloquear e ligá-lo ao End bloco.

completed read csv file

O BP a importar de um ficheiro está terminado.

Endpoint configuração

Ir para o separador Endpoints e criar um novo ponto final.

Creating endpoint

Seleccione o bloco POST método, defina o URL endereço, seleccione o Flight groupe a criada BP Import CSV.

Configurar um botão no front-end

Agora precisamos de instalar um botão na parte da frente para carregar o ficheiro.

Arraste a File picker elemento sobre a tela.

E configurar o BP para ele:

Utilizar o elemento onSelectfiles gatilho. Este gatilho recebe ficheiros como uma matriz, mesmo que haja apenas um ficheiro. Portanto, utilizaremos o bloco Array Element para obter um elemento da matriz. Vamos definir o campo de índice a 0 para obter o primeiro elemento da matriz.

Agora, grave o ficheiro carregado na base de dados utilizando o Server request POST /_files/ bloco.

Server request post file

Expandir o ficheiro resultante utilizando o bloco Expand file bloco.

Expand file block

Agora passe o ID (que neste caso é um ficheiro) para o Server request POST /flight/csv/ bloco.

Using custom endpoint on frontend

Was this article helpful?

AppMaster.io 101 Curso de Crash

10 Módulos
2 Semanas

Não sabe por onde começar? Avance com o nosso curso intensivo para principiantes e explore o AppMaster de A a Z.

Iniciar curso
Development it’s so easy with AppMaster!

Precisa de mais ajuda?

Resolva qualquer problema com a ajuda de nossos especialistas. Economize tempo e concentre-se na criação de seus aplicativos.

headphones

Entre em contato com o suporte

Conte-nos sobre o seu problema, e nós encontraremos uma solução para você.

message

Bate-papo da comunidade

Discuta perguntas com outros usuários em nosso chat.

Junte-se à comunidade