Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde comunidade,
Preciso de uma super ajuda de vocês por favor.
Desde já agradeço a todos!
Tenho esse código que captura todas as sheets do Excel dinamicamente que funciona perfeitamente quando uso o ODBC, mas tenho uma situação agora que não consigo usar o ODBC no ambiente de qualidade na minha empresa.
Tem como pegar essas sheets dinamicamente sem usar o ODBC?
Tenho que conectar em uma pasta tipo : FOLDER_EXT_GLOBAL
LIB CONNECT TO 'Excel Files2';
tables:
SQLTables;
DISCONNECT;
Tables1:
load Distinct
*,
replace(TABLE_NAME,chr(39),'') as NEW
resident tables;
DROP Table tables;
let var=NoOfRows('Tables1');
FOR i = 0 to $(var)-1
let sheetName=subfield(peek('NEW', i,'Tables1'),'$',1);
Data:
LOAD Distinct
*,
'$(sheetName)' as Des_sheet
FROM [lib://Extract_Import/ Qlink Sense Test.xlsx]
(ooxml, embedded labels, table is [$(sheetName)]);
NEXT i
DROP Table Tables1;
Store Data into 'lib://QVD_Extract/fato.qvd';
DROP Table Data;
Você pode usar as funções
FileBaseName() - https://help.qlik.com/pt-BR/qlikview/May2022/Subsystems/Client/Content/QV_QlikView/Scripting/FileFun...
ou
FileName() -https://help.qlik.com/pt-BR/qlikview/May2022/Subsystems/Client/Content/QV_QlikView/Scripting/FileFun...
Depois basta filtrar a lista e incluir no seu loop.
Se quiser incrementar um pouco mais, pode usar também a função filetime():
https://help.qlik.com/pt-BR/qlikview/May2022/Subsystems/Client/Content/QV_QlikView/Scripting/FileFun...
Com ela você pode pegar a data do arquivo mais recente