Olá comunidade!
Estou com a seguinte situação que gostaria da ajuda de vocês para entender como fazer, ainda sou um usuário iniciante então todo comentário será bem vindo.
Estou construindo um workflow que deverá receber o input de N arquivos que deverão estar em uma pasta específica, cada 1 desses arquivos que estarão em formato .xlsx, podem ter até 5 sheets dentro deles, porém como dito antes, eles podem, mas não significa que terão. Exemplo:
Arquivo 1 - sheet1, sheet2, sheet3, sheet4 e sheet5
Arquivo 2 - sheet1 e sheet3
Arquivo 4 - sheet4 e sheet5
Arquivo 5 - sheet1, sheet2, sheet3, sheet4 e sheet5
Arquivo N - ....
Cada uma dessas possíveis sheet seguem um padrão específico, então a sheet1 de todos os arquivos terão o mesmo layout por exemplo. O problema é que ao utilizar a ferramenta de Input tool referenciando a pasta toda, direcionando uma dessas sheets, no momento em que ele pega um arquivo que não contenha aquela sheet, ele dá erro.
Preciso conseguir que o fluxo realize o input dos arquivos, pegando o conteúdo de suas sheets se ela existir no arquivo e caso não exista, ele busque no próximo arquivo da pasta.
Conseguem me ajudar a realizar essa ação?
Solucionado! Ir para Solução.
Você pode mapear os arquivos com a ferramenta "Directory" e a partir disso editar o que seria o "FullPath" da lista de sheets.
Basicamente você vai pegar "Arquivo.xlsx" + "|||<List of Sheet Names>". Feito isso vc vai configurar um Dynamic Input pra fazer o mapeamento das sheets da lista de arquivos.
*Lembra de configurar o Dynamic Input pra fornecer o "FullPath". Dai depois é só editar o caminho completo do arquivo + o nome da sheet.
* O layout das tabelas tem que ser igual pra isso funcionar bem, pq pode correr o risco dos arquivos Excel terem "schemas" diferentes
Abaixo links de dúvidas semelhantes a essa:
#Problema do abre diferente schema
Ola Vitor!
Obrigado pela ajuda mas acredito não ter entendido corretamente, como sou novo na ferramenta, pode ser isso.
Na ferramenta "Directory" consigo apenas apontar o diretório onde estarão os arquivos, não o arquivo propriamente e sua sheet, além de que ele me retorna uma saída com a listagem de arquivos, mas não com as sheets que cada um possui.
Utilizando a ferramenta de Input Data, consigo fazer como disse, direcionar um arquivo e colocar a lista de sheets, mas quando coloco no Input Data para ele pegar todos os arquivos da pasta utilizando o operador " * ", no dynamic input ele acusa erro.
Para o Dynamic Tool, estou configurando utilizando como input template um dos arquivos que existe na mesma pasta que estou direcionando pelo Input Data, e no "Read a list of Data Source" colocando como "Fullpath".
Lembrando que no problema em questão, as sheets que existem nos arquivos, possuem layout igual com as sheets de mesmo nome, mas diferente em relação as sheets de nomes diferentes, ou seja, tomando o exemplo anterior, a sheet1 do arquivo 1 tem o mesmo layout da sheet1 de outro arquivo mas terá layout diferente da sheet2 de qualquer arquivo.
Eu escrevi meio rápido e talvez nao tenha ficado claro.
Tentei fazer um exemplo do que eu imagino que vá ajudar.
Abaixo o fluxo:
Muito obrigada pela ajuda, @vroque!
@marcusblackhill Nos avise se conseguiu resolver ou se tem mais alguma dúvida. Se a sugestão do Vitor lhe ajudar, não esqueça de aceitar a resposta dele como solução 😉
Muito obrigado pela ajuda que está dando Vitor!
O fluxo que demonstrou pareceu bem interessante, iniciei aqui o que mostrou para testar, não sei se configurei algo errado, mas o output do segundo dynamic está me trazendo a lista das sheets que existem nos arquivos só que não indica o arquivo a que se refere a sheet que está listada.
Utilizei o Action "Change Entire File Path" pois nenhum outro tipo de action funciona, todos apontam algum erro.
Consegue entender o motivo de estar vindo apenas o nome da sheet e não o fullpath com as sheets junto?
Obrigado!
@marcusblackhill , boa tarde!
Montei o seguinte fluxo usando duas macros de apoio para ficar mais claro para ti.
Tanto o fluxo com as duas macros estão em anexo.
Se der certo, avisa aí!
Excelente, @Matheus_Rodrigues. Obrigada pela colaboração!
Funcionou perfeito, muito obrigado!
Fico feliz em ter ajudado!
acho que esse artigo vai te ajudar no futuro
https://community.alteryx.com/t5/Blog-Portugues/Convertendo-multiplos-arquivos-XLS-em-XLSX/ba-p/5208...