Comment extraire les données d'un fichier Excel sur Sharepoint ?Salut tout le monde,
J'ai une configuration de script pour ouvrir un fichier Excel, extraire les données requises, exécuter une analyse, enregistrer l'analyse au format HTML interactif (pour un accès par un utilisateur non JMP) et fermer JMP. Tout fonctionne bien dans mon script pilote et en tant que non-codeur Je suis particulièrement heureux d'avoir tout compris. Le défi est désormais que cela doit fonctionner entre deux sociétés complètement distinctes. Les deux sociétés ont accès à un fichier Excel commun via Sharepoint. J'ai eu accès au fichier sur Sharepoint. Après beaucoup de « désordre », puis avoir trouvé la fonction Web(), je suis maintenant en mesure d'ouvrir le fichier Excel sur Sharepoint.Je ne parviens cependant pas à extraire les données d'Excel vers JMP pour une analyse ultérieure.
Dans mon script original, j'ai simplement utilisé Open() pour charger le contenu Excel dans la table de données. Maintenant que je regarde la page Excel dans Sharepoint, je suis bloqué. À ce stade, je ne peux pas voir la forêt à cause des arbres. Toute contribution à ce sujet est plus qu’appréciée. Si vous avez une entrée JSL, veuillez vous assurer qu'elle est lisible pour un dix 7 ans. Voici le point sur lequel je suis bloqué :
Names Default To Here( 1 );
Web( "https://company.sharepoint.com/folders/file.xlsx);
dt = Open(
“Am I missing something here? Sharepoint is showing the Excel file, but it's not really OPEN as such”
Worksheets( "Whole Milk" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 3 ),
Data Starts on Row( 4 ),
Data Starts on Column( 2 ),
Data Ends on Row( 0 ),
Data Ends on Column( 24 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
Accès aux donnéesIngénierie Qualité et ProcédésPartager et communiquer les résultatsRe : Comment extraire les données d'un fichier Excel sur Sharepoint ?@ih C'est vivant! Il a extrait les données de Sharepoint vers une table de données. Merci beaucoup de m'avoir orienté vers cette solution. J'avais recherché dans les publications de la communauté les requêtes liées à Sharepoint, mais pas à Office 365. @hardner Merci pour votre suggestion d'ajouter le délai pour permettre la négociation des informations d'identification. Cela fait toute la différence et a fait ma journée !
Je reviendrai lorsque j'aurai (probablement) des problèmes pour enregistrer sur Sharepoint ! 
Re : Comment extraire les données d'un fichier Excel sur Sharepoint ?C'est en effet la solution que j'utilise...
L'open() lui-même utilisera certaines informations d'identification mises en cache, mais je ne sais pas combien de temps elles durent.
Pour moi, le web() initial ajouté est une solution correcte car je l'utilise pour ouvrir mon propre emplacement interne "company.sharepoint". et notre SSO interne travaille là-dessus ! J'attends beaucoup (15 secondes) après le web() et s'il ne s'ouvre pas immédiatement avec les informations d'identification mises en cache, il fonctionnera toujours en passant par notre connexion interne avec mes informations d'identification sans aucune interaction.De cette façon, divers scripts s'exécutent en tant que tâches planifiées et ils semblent être capables d'ouvrir de manière fiable nos feuilles Excel internes à partir de Sharepoint.
Re : Comment extraire les données d'un fichier Excel sur Sharepoint ?Consultez cet article, je *pense* que vous allez rencontrer le même problème.À cette époque, je ne pense pas qu'il existait une solution parfaite ou entièrement automatisée, mais peut-être @hardner trouvé quelque chose depuis ?
Ouvrir Excel basé sur le cloud Microsoft Office 365 à partir de JMP/JSL ?
En bref, ouvrez d'abord une fenêtre de navigateur Web pour vous authentifier, puis ouvrez le fichier.
Pour obtenir l'URL :
- Dans Office 365/sharepoint/teams/etc, obtenez un lien vers le fichier (qui ouvre normalement le fichier dans un navigateur Web)
- Supprimez tout après le ? dans le lien et remplacez-le par download=1
- Enregistrez une copie du fichier localement et ouvrez-la dans JMP en utilisant vos paramètres préférés, puis ouvrez et copiez le script « source » enregistré dans cette table de données.
- Remplacez l'emplacement du fichier par l'URL que vous venez de modifier.
Votre script ressemblerait à ceci :
//Authenticate - this caches credentials for a while but not forever, would replace this with your sharepoint URL.
Web( "https://teams.microsoft.com", JMP window );
//once authenticated then open the file
dt = Open("https://company.sharepoint.com/:x:/r/sites/Site/Shared%20Documents/Folder/Subfolder/File%20name.xlsx?download=1",
Worksheets( "Sheet 1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 1 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);