[PS] Lire un document OpenOffice
Posté : jeu. juil. 07, 2016 12:27 pm
PowerShell (abrégé PS) offre la possibilité de lire facilement du XML. Ca tombe bien puisque le format d'OpenOffice est justement un assemblage de fichiers XML compressé en ZIP. Dès lors, manipuler de l'ODF devient un jeu d'enfant.
Exemple avec un classeur au format ODS :
NB : ce tutoriel n'est pas là pour vous apprendre le langage du PS et si vous avez des questions, consultez un forum dédié comme celui du Labo Microsoft.
1) Extraction des XML
L'ODF est d'abord un ZIP qu'il convient de décompresser
2) Récupération du contenu
Le contenu du classeur se trouve logiquement dans le fichier content.xml.
Charger ce contenu est extrêmement simple avec la balise [xml] qui préfixe une variable :
La variable $contenu contient maintenant l'intégralité du XML.
3) Explorer le contenu
Dès lors, il suffit de parcourir la variable $contenu en ajoutant le premier noeud du XML document-content :
Attention : le tiret est un caractère interdit, il convient d'échapper la chaîne avec des apostrophes.
Exemple avec un classeur au format ODS :
NB : ce tutoriel n'est pas là pour vous apprendre le langage du PS et si vous avez des questions, consultez un forum dédié comme celui du Labo Microsoft.
1) Extraction des XML
L'ODF est d'abord un ZIP qu'il convient de décompresser
Code : Tout sélectionner
Expand-Archive .\test.ods
2) Récupération du contenu
Le contenu du classeur se trouve logiquement dans le fichier content.xml.
Charger ce contenu est extrêmement simple avec la balise [xml] qui préfixe une variable :
Code : Tout sélectionner
[xml]$contenu = Get-Content -Path .\content.xml
3) Explorer le contenu
Dès lors, il suffit de parcourir la variable $contenu en ajoutant le premier noeud du XML document-content :
Attention : le tiret est un caractère interdit, il convient d'échapper la chaîne avec des apostrophes.