Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
je vous expose mon petit soucis.
Je dois récupérer des données dans un fichier excel situé sur mon réseau d'entreprise.
Ce fichier est mis à jour au fil de l'eau par une personne.
Pour ces besoins d'historisations de ses données il nomme ses onglets en y incoporant une date.
Résultat le nom de l'onglet change régulièrement et je perds ma connexion script avec cet onglet.
je cherche une syntaxe pour pointer sur le premier onglet lors du chargement du fichier Excel sans avoir à renseigner son nom exact dans le script.
LOAD col1, col2, col3, col4, col5 FROM [Classeur Test Qvw.xlsm] (ooxml, embedded labels, table is [Nom de l'onglet]);
Merci pour vos lumières ?
Cdlt.
Bonjour,
Je ne connais pas de moyen direct pour accéder à la première feuille d'un fichier Excel donné, mais je sais comment récupérer le nom de toutes les feuilles d'un classeur.
Si une règle de nommage sur le nom des feuilles est définit, vous pourrez:
Il faut pour cela, créer une connexion odbc / oledb sur votre fichier Excel et envoyer une commande qui vous retournera le nom de toutes les feuilles.
Voici un exemple:
//Connexion à votre fichier Excel via OLEDB ou ODBC
OLEDB CONNECT TO [Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Excel Files;DBQ=C:\Users\sfatoux\Desktop\Classeur1.xlsx;DefaultDir=C:\Users\sfatoux\Desktop;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"];
//Extraction des metadonnées de votre fichier Excel
XlsTables:
SQLTables;
DISCONNECT;
//Manipulation de vos noms de feuille pour déterminer la dernière en fonction de règle de nommage
load MaxString(TABLE_NAME) as SheetToLoad
Resident XlsTables;
//Mémorisation dans une variable de la feuille à chargé en supprimant les caractères non désirés
Let SheetToLoad = PurgeChar(Peek('SheetToLoad'), '$');
//Chargement des données de la feuille désirée en utilisant la variable
data:
LOAD *
FROM
Hello ,
au moment du load tu peux soit:
supprimer le nom de la feuille sur l'excel .
(biff, embedded labels) au lieu de (biff, embedded labels, table is Sheet1$);
automatiquement Qlik va ouvrir la première feuille .
soit utiliser une variable qui va récupérer le nom comme ici :
https://community.qlik.com/message/763947?_ga=1.267739401.680988469.1443717565#763947
Merci pour vos réponse et désolé pour mon absence.
Je vais essayer l'astuce de Mohamed.
Cdlt.
Bonjour Daidmous,
ce post ne pourrait-il pas répondre à ta demande (en l'adaptant...) ?
Re: aide script pour import de plusieurs onglet excell concernant des périodes hebdomadaires
Florent.