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 en tant que 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 content d'avoir tout compris. Le défi maintenant est que cela doit fonctionner entre deux entreprises 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 » et de recherche de la fonction Web(), je suis maintenant en mesure d'ouvrir le fichier Excel sur Sharepoint.Je suis cependant incapable d'extraire les données d'Excel vers JMP pour une analyse ultérieure
Dans mon script d'origine, 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 le bois pour les 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 peu où je suis coincé:
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( "-" )
)
);
ScriptRe : 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é les messages de la communauté pour les requêtes liées à Sharepoint, mais pas pour Office 365. @hardner Merci pour votre suggestion d'ajouter le délai pour permettre la poignée de main des informations d'identification. Fait toute la différence et a fait ma journée !
Je reviendrai quand j'aurai (probablement) des problèmes pour enregistrer sur Sharepoint ! 
Re : Comment extraire les données d'un fichier Excel sur Sharepoint ?C'est effectivement la solution que j'utilise...
L'open() lui-même utilisera des informations d'identification mises en cache, mais je ne sais pas combien de temps celles-ci 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 fonctionne là-dessus ! J'ai mis une grande attente (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 pouvoir 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 ce post, 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( "-" )
)
);