Curso de Crash 101
10 Módulos
5 Semanas

Ciclos. Importar ficheiros Excel

Clique para copiar

Utilização de ciclos no processo empresarial. Ler dados de ficheiros Excel.


Para compreender o processo posterior, é necessário divagar um pouco sobre a teoria e compreender o princípio dos ciclos. Anteriormente, todos os nossos processos só avançavam. Eles podiam escolher um garfo específico (no If-Else e Switch blocos), mas tínhamos a certeza de que cada bloco seria executado apenas uma vez; não haveria volta a dar.

Ciclos

Os ciclos proporcionam a capacidade de repetir uma determinada secção várias vezes. O processo é criado para que a sequência seleccionada de blocos seja executada uma e outra vez. Até que a condição para terminar o laço seja satisfeita.

AppMaster dá-lhe a capacidade de utilizar três tipos diferentes de ciclos. O princípio do seu trabalho é absolutamente o mesmo. A condição para a terminação do laço é a única coisa que os distingue uns dos outros.

  • Loop. O mais simples de todos os ciclos. O seu é o mais simples de todos os ciclos. Times (Integer) define um valor fixo para quantas vezes o laço dado deve ser executado.
  • While loop. Um laço que funcionará até que uma determinada condição seja satisfeita. Esta condição é especificada no parâmetro Condition (Boolean) parâmetro. No início de cada laço, o valor Condition é verificado; se for True, então o laço é executado; se for False, então o laço pára. O é o valor Limit (Integer) define o limite do número de repetições do laço para garantir que o laço não funcione para sempre. Quando for atingido, o laço terminará, independentemente do valor de Condition.
  • For each loop. Laço concebido para trabalhar com arrays. É necessária uma matriz como entrada e permite realizar uma determinada operação em cada elemento da matriz. Funciona tantas vezes quantas os elementos da matriz.

Cada ciclo tem dois fluxos de saída.

  • Loop Body. O próprio corpo do laço. Esse processo, que será repetido o número necessário de vezes.
  • Completed. O fio correrá quando o laço terminar. Especifica o que fazer a seguir após o laço estar terminado. A propósito, qualquer ciclo pode ser completado sob comando, sem esperar que as condições iniciais sejam cumpridas. Para o fazer, basta utilizar o Break Loop bloco no lugar certo. Transferirá imediatamente o fluxo para Completed.

Read XLSX File

Para análise do ficheiro xlsx, utilizaremos o Read XLSX File bloco. O seu princípio de funcionamento é quase idêntico ao do For each loop bloco. Representa o ficheiro da tabela como um conjunto de cordas. E cada linha, por sua vez, é também um conjunto, mas já um conjunto de colunas da linha em questão.


O próprio ficheiro xlsx é apresentado de uma forma semelhante. A primeira coluna contém o nome da secção, e a segunda contém a informação que esta secção contém. Ao mesmo tempo, não conhecemos antecipadamente a linha onde a informação está escrita; ela pode aparecer em qualquer lugar arbitrário. Neste exemplo, a biografia é indicada na segunda linha, e o login está na oitava, mas as linhas e a ordem em que são escritas podem ser qualquer uma.

O processo empresarial começa com a recepção de um ficheiro como parâmetro de entrada. Note que é o tipo de dados do ficheiro, ou seja, o ID do ficheiro, que é transmitido e não o ficheiro inteiro. Passamos o mesmo ficheiro para o Read XLSX File bloco.


Each rowNeste caso, é um análogo de Loop Body. Isto significa que o laço será executado tantas vezes quantas as filas no ficheiro xlsx. Ao mesmo tempo, em cada ciclo, recebemos informação sobre qual a linha que está a ser processada agora (Row number), bem como as colunas que estão nesta linha (Row columns).

A nossa tarefa consiste em verificar a primeira célula de cada linha. Esperamos encontrar uma célula que diga "Login" ou "Bio". Desta forma, compreenderemos que encontrámos uma coluna com as informações necessárias.

Para o fazer, precisamos de um Array Element É assim que obtemos o conteúdo da primeira célula da corda. Depois disso, utilizamos a Switch bloco para encontrar a correspondência desejada (Login, Bio).

Se não for encontrada tal correspondência, então o laço vai para a próxima iteração, verificando a linha seguinte. Se for encontrada, então compreendemos que a segunda célula desta linha deve conter a informação de que necessitamos e utilizar o Array Element bloquear novamente (mas com índice 1) para obter esta informação.

Resta-nos apenas guardar esta informação. Afinal, se não o fizer de imediato, então o ciclo irá simplesmente continuar, e os dados recebidos serão perdidos.

Variáveis

A melhor solução nesta situação seria a utilização de variáveis. O seu significado reside no facto de certos valores não serem transferidos imediatamente de um bloco para outro, mas são armazenados na memória e utilizados se necessário.

Existem dois blocos para isto:

  • Variable bloco. Pode ser qualquer número, cadeia, ou mesmo um conjunto de objectos. É importante compreender que este bloco em si não faz nada; não tem parâmetros de entrada. Serve apenas para anunciar o facto de que um lugar é atribuído na memória para escrever algum valor, com a possibilidade de mais tarde voltar a referir-se a ele e descobrir este valor.
  • O Set Variable bloco é concebido para escrever um novo valor para uma variável.

No nosso caso, iremos definir duas variáveis de tipo String e escrever os valores encontrados neles, num lugar Login, e na segunda Biografia. No final do laço, só precisamos de passar o valor destas variáveis para o bloco final.


Agora é altura de criar um ponto final para o processo comercial terminado e, assim, disponibilizá-lo para utilização no front-end da aplicação web.


Resultado final

Como resultado, o processo comercial deve ser este:


Há retoques finais para completar a criação da aplicação. Voltemos ao processo comercial de frontend e terminemo-lo. Precisamos:

  • passar o modelo de ficheiro xlsx para guardar ao servidor.
  • Expandir o resultado e obter a identificação do ficheiro.
  • Passar este ID para o ponto final previamente criado POST /xlsx-data/
  • Utilizar os dados recebidos para exibir nos campos apropriados (e também para reiniciar o parâmetro Disable, abrindo a possibilidade de edição).

Se tudo foi feito correctamente, a versão final deverá ter este aspecto depois de carregar a informação dos ficheiros.

Was this article helpful?
Ainda à procura de uma resposta?
Junte-se à Comunidade