Avançando com nossa série sobre como trabalhar com tabelas do Excel no Power Automate, vamos investigar como retornar dados das Tabelas do Excel para o Power Automate. Esta operação de leitura pode ser usada para todos os registros de uma tabela do Excel, para uma linha específica ou até mesmo para um conjunto de linhas aplicando um filtro.
Outros artigos desta série
Integrando Power Automate e tabelas do ExcelInserindo e atualizando dados em tabelas do Excel usando Power Automate
Use case: Lista de filiais
Para este post, usaremos a tabela Office_List, criada no primeiro artigo da série. A tabela contém 5 registros (linhas) sobre as localizações das unidades de uma empresa, em um total de 4 colunas: uma coluna de Id (identificador), a cidade da filial, o país da unidade e a quantidade de funcionários alocados no escritório.

Lendo dados de tabela do Excel em Power Automate
A ação mais utilizada para ler dados de uma Tabela do Excel é Listar linhas em uma tabela. Essa ação recupera todos os registros da tabela e os retorna como um array. Cada registro no array é representado como um objeto, com chaves que permitem acessar os valores em cada coluna de uma linha específica. Para processar cada registro no array individualmente no Power Automate, você pode usar um loop para aplicar uma tarefa específica a cada elemento (se você não sabe como fazer loops em arrays no Power Automate, confira este artigo).
Para usar a ação Listar linhas em uma tabela, você precisará fornecer a localização do arquivo Excel, o caminho até o arquivo, e selecionar a tabela desejada:

Nos raw outputs da ação, o array mencionado anteriormente é chamado de values e está localizado dentro da propriedade body. Este array consiste em um conjunto de elementos (um por linha) com pares de chave-valor (destacados abaixo) que correspondem a cada coluna da tabela. As chaves destacadas incluem Id do Escritório (rosa), Cidade (verde), País (azul) e Quantidade de Funcionários (amarelo):

Utilizando dados de tabela do Excel no Power Automate
Embora possamos recuperar dados de uma Tabela do Excel, simplesmente visualizar os raw outputs pode não ser suficiente para a maioria dos cenários. Ao criar fluxos no Power Automate, frequentemente precisamos integrar essas saídas com outras ações e tornar os dados úteis. No nosso caso, temos informações sobre os escritórios da empresa, como cidade, país e número de funcionários. Para organizar esses dados de forma eficaz, vamos criar uma lista (array) chamada offices que armazenará descrições textuais detalhando as características de cada unidade. Para começar, precisamos inicializar a variável de tipo array (veja este artigo para mais detalhes sobre como trabalhar com variáveis):

Como a propriedade value da nossa ação Listar linhas em uma tabela é um array, podemos iterar por ele e acessar cada item individualmente. Para isso, utilizaremos a ação de loop Aplicar a cada, onde value servirá como input (destacado em amarelo). Dentro do loop, usaremos a ação Adicionar à variável de array e inseriremos offices como a variável a ser editada (destacada em verde). Nesta ação, utilizaremos um template padrão de texto integrado com o conteúdo dinâmico para a cidade, país e quantidade de funcionários de cada escritório (destacado em azul):

Para maiores detalhes sobre como utilizar conteúdos dinâmicos em Power Automate, verifique esse post (em inglês).
Após todas as iterações do loop, teremos uma lista de 5 itens. Cada item conterá o template de texto preenchido com os respectivos detalhes das cidades, países e quantidades de funcionários de cada escritório. Para exibir o resultado final, utilizaremos a ação Compor (destacada em verde) e forneceremos a variável offices como input (destacada em amarelo):

Nota 1: A ação Compor é usada apenas para exibir o valor final da variável offices. Ela não é necessária para iterar pelos arrays; incluímos aqui para mostrar explicitamente que todos os textos foram adicionados com sucesso ao array.
Nota 2: Certifique-se de criar a ação Compor fora do bloco Aplicar a cada. Ela deve ser colocada fora da área marcada em vermelho. Você pode identificar o bloco Aplicar a cada pelo fundo branco entre seu título e o botão Adicionar uma ação dentro da área marcada em vermelho.
Este será o output:

Como utilizamos um loop e valores dinâmicos relativos a cada item do array, o resultado incluirá a cidade correspondente (destacada em amarelo), o país (destacado em verde) e a quantidade de funcionários (destacada em azul) para cada registro de nossa tabela do Excel.
Ler uma linha específica de tabela do Excel com Power Automate
Se você precisa acessar um registro específico de uma tabela do Excel em vez de recuperar todos os registros, você pode fazer isso utilizando a ação Obter uma linha. Esta ação requer uma coluna chave e seu valor chave correspondente:

Uma coluna chave é aquela onde todos os valores são únicos, ou seja, não são permitidas duplicatas. No nosso exemplo, todas as colunas (exceto employees) poderiam servir como coluna chave, pois possuem valores únicos. No entanto, o candidato ideal para uma coluna chave é uma variável que permanece única mesmo conforme o conjunto de dados cresce. No nosso exemplo, a coluna Office id atende a esse requisito, pois fornece um valor único e não duplicado.
Ao utilizar a ação Obter uma linha em uma coluna com valores duplicados, o fluxo irá retornar apenas um dos resultados. Esta ação é projetada para retornar um único registro e não pode fornecer um array ou lista de registros.
Mesmo que você não planeje usar uma ação do Power Automate que especificamente acesse um registro específico, é recomendável ter uma coluna chave nas suas tabelas do Excel. Essa prática ajuda a individualizar entradas e manter uma boa organização dos dados. Em muitos casos, criar um identificador único (“Id”) não é necessário. Por exemplo, uma tabela que representa faturas ou notas fiscais pode utilizar o “Número da Fatura” como identificador único, enquanto uma tabela que representa usuários pode utilizar o endereço de e-mail.
Adicionando uma key column a tabelas do Excel
Em situações em que as tabelas não possuem uma coluna nativa com valores únicos para servir como chaves ou reservadas para uma “coluna de id”, o Power Automate oferece uma solução útil. A ação Adicionar uma coluna chave a uma tabela permite aos usuários inserir uma coluna chave em tabelas do Excel.
Para utilizar esta ação, basta especificar o arquivo do Excel e a tabela, e fornecer um nome desejado para a coluna chave (destacado em amarelo):

O Power Automate atribuirá automaticamente o nome Power AppsId a esta coluna por padrão, mas você tem a flexibilidade de renomeá-la conforme desejado, contanto que não haja outra coluna com o mesmo nome exato na tabela. No nosso caso, vamos renomeá-la para Key.
No entanto, a ação Adicionar uma coluna chave a uma tabela não preencherá automaticamente a coluna com valores únicos. Ela simplesmente insere uma coluna e a deixa em branco. Portanto, o usuário precisará realizar etapas adicionais para popular a tabela com valores únicos, garantindo que cada entrada na coluna chave seja distinta:

Seria necessária uma ação adicional para acessar todos os registros e popular a coluna chave, aumentando pontualmente a complexidade do fluxo.
Filtrando os registros da tabela do Excel com Power Automate
Em alguns casos, precisamos retornar apenas registros específicos de uma tabela do Excel, em vez da totalidade das linhas. Mesmo que seja possível utilizar o Office Scripts para isso, Power Automate oferece uma ferramenta bastante completa para aplicar filtros, a Filter Query. Você pode conferir detalhes de como utilizar a Filter Query neste artigo em inglês.
No contexto deste artigo, vamos focar em um caso de uso simples: recuperar todos os registros que contenham um valor específico em uma coluna particular. Por exemplo, queremos recuperar todos os registros correspondentes a escritórios localizados nos EUA. Para realizar esta tarefa, utilizamos a ação Listar linhas em uma tabela (a mesma mencionada anteriormente neste post) e selecionamos Mostrar opções avançadas (destacado em amarelo) para acessar as opções de filtro necessárias:

Alguns novos campos serão exibidos, e um deles é a Filter Query, que utiliza a notação ODATA, seguindo uma sintaxe simples: [nome_da_propriedade] [operador_de_comparação] [valor_de_comparação].
No nosso caso, o nome da propriedade é Country, representando a coluna da Tabela do Excel. O operador de comparação (igual, diferente, maior que, menor que…) será eq, que representa igualdade (equals). O valor de comparação será USA. Portanto, nossa consulta final será: Country eq ‘USA’ (com aspas, pois é um valor de string).
Ainda, para garantir que vamos retornar todos os registros que contenham USA como país, vamos adicionar mais dois registros à nossa tabela do Excel:

A ação Listar linhas em uma tabela ficará assim:

O fluxo retornará apenas os registros com o país correspondente a “USA”, como podemos ver pelos raw outputs:

Nas opções avançadas da ação Listar linhas em uma tabela, você também pode ordenar os registros (selecionando quais colunas devem ser usadas nesse processo e se a ordem será crescente ou decrescente), limitar os resultados para um “top N” de registros ou ignorar o “top N” (pular), limitar as colunas que serão retornadas e definir o formato de data nos valores (para maiores detalhes em como formatar datas extraídas do Excel, veja este artigo em inglês).
Conclusão
O Power Automate oferece aos usuários do Excel uma variedade de recursos, permitindo a integração entre planilhas e várias ferramentas. Ao utilizar ações de leitura, as tabelas do Excel podem funcionar como bancos de dados relacionais para pequenos projetos, com algumas limitações inerentes. Essa funcionalidade abre possibilidades para a criação de documentos, realização de cálculos, emissão de alertas e controle de acesso de usuários com base em permissões.
A integração do Power Automate com Tabelas do Excel desbloqueia um mundo de potencial produtivo, onde sua imaginação e criatividade podem florescer. Com essa poderosa combinação, você pode simplificar processos, automatizar tarefas e otimizar fluxos de trabalho, aumentando a eficiência e a eficácia geral em seus empreendimentos tecnológicos.
