Sommaire | ||
---|---|---|
|
Généralités
Ce module permet la liaison avec des fichiers au format OpenXml, pour
...
On appellera la fonction OpenXml_FileOpen pour charger ou pour créer un fichier xlsx puis la fonction OpenXml_FileClose pour mettre le fichier à jour et le refermer.
Les fonctionnalitéd fonctionnalités disponibles
Ouverture ou création d'un fichier XLSX.
Lecture de la valeur d'une cellule.
Gestion des onglets (ou feuilles) : choix de l'onglet (ou feuille), création, duplication, suppression.
Modification de la largeur d'une colonne.
Ecriture d'une cellule :
Plusieurs formats de donnée sont supportés : texte, date, numérique, etc.
Définition d'un style pour le texte de la cellule : police, couleur et taille des caractères, attributs gras/souligné.
Définition d'une couleur de fond pour la cellule.
Sauvegarde du fichier après modification.
Récupérer le texte de la dernière erreur produite
...
se positionner sur une feuille avec la fonction OpenXml_GotoSheet(feuille,creation)
lire des cellules avec OpenXml_Read(lig,col)
-définir la taille des colonnes avec OpenXml_ColumnWidth(colonne,taille)
-connaitre la taille de la feuille Excel avec OpenXml_GetSizeSheet puis OpenXml_GetStartRow / OpenXml_GetEndRow / OpenXml_GetStartColumn / OpenXml_GetEndColumncréer une police avec la fonction OpenXml_CreateFont(gras, taille, indexcouleur, nom, italique, soulignee, barree)
écrire des cellules avec OpenXml_WriteFormat(lig, col, valeur, form, decim, multi, zero, indexcouleurfond)
Et enfin la fonction OpenXml_GetMsgError permet de récupérer le texte de la dernière erreur
Fonctionnalités Word
On appellera la fonction OpenXmlWord_OpenFile pour charger ou OpenXmlWord_CreateFile pour créer un fichier docx puis la fonction OpenXmlWord_CloseFile pour mettre le fichier à jour et le refermer.
Les fonctionnalités disponibles
Ouverture ou création d'un fichier DOCX.
Création de paragraphes
Insertion de texte ou fichiers
Remplacement
Modification de propriétés
Liste des fonctions de OpenXML pour Excel
Voir la page dédiée OpenXML pour les fichiers XLSX
Exemple de programme diva
procedure LectureTailleFeuille
1 car 1
beginp
OpenXml_GetSizeSheet
display " "
display "Ligne debut = " & tostring(OpenXml_GetStartRow)
display "Ligne fin = " & tostring(OpenXml_GetEndRow)
display "Colonne debut = " & tostring(OpenXml_GetStartColumn)
display "Colonne fin = " & tostring(OpenXml_GetEndColumn)
input " " car
display " "
endp
procedure demo
1 lig x
1 co lx
1 lig2 x
1 cc x = 0
1 pp x = 0
1 pp1 x = 0
1 pp2 x = 0
1 pp3 x = 0
1 TypeDeWritePourLaDemo x = 0
1 retour S
1 Choix x
beginp
if OpenXml_Begin <> 0 ;chargement du module openxml
; chargement de la dll DhdivaltoOpenXML.dll et initialisation de la dll
; 0 si pas d'erreur
; 1 si la dll n'existe pas
; 2 si une fonction n'existe pas, par exemple si la dll est une ancienne version
; 3 si erreur d'initialisation
display OpenXml_GetMsgError
programgoto " "
endif
fic = "C:\divalto\Test.xlsx" ;ouverture du fichier test.xlsx avec création s'il n'existe pas
creation = 1 ;0=ne pas créer le fichier s'il n'existe pas 1=créer le fichier s'il n'existe pas
if OpenXml_FileOpen(fic,creation) <> 0
display OpenXml_GetMsgError
goto fini
endif
LectureTailleFeuille
retour = OpenXml_GotoSheet(" ",0)
display "Nom de la feuille en cours = " & left(retour)
OpenXml_ColumnWidth(1,20) ;taille de la colonne 1
OpenXml_ColumnWidth(2,40) ;taille de la colonne 2
OpenXml_ColumnWidth(5,30) ;taille de la colonne 5
;Création de polices
pp1 = OpenXml_CreateFont(1) ; Police Gras
pp2 = OpenXml_CreateFont(1,16) ; Police Gras taille 16
pp3 = OpenXml_CreateFont(0,16) ; Police taille 16
display "écriture de 20000 cellules "
pp = 0
cc = 0
TypeDeWritePourLaDemo = 1
Choix = 1
for lig = 1 to 1000
for col = 1 to 20
switch TypeDeWritePourLaDemo
case 1
OpenXml_WriteFormat( lig, col, "10,126" , "Numeric", 2, " ", false,cc,pp)
case 2
OpenXml_WriteFormat( lig, col, "10,1239" , "Numeric", 3, " ", false,cc,pp)
case 3
OpenXml_WriteFormat( lig, col, "20140926", "Date", 0, " ", false,cc,pp)
case 4
OpenXml_WriteFormat( lig, col, "Simple texte" , "Texte", 0, " ", false,cc,pp)
case 5
OpenXml_WriteFormat( lig, col, "201409261030" , "DateHeure", 0, " ", false,cc,pp)
case 6
OpenXml_WriteFormat( lig, col, "103000", "Heure", 0, " ", false,cc,pp)
case 7
OpenXml_WriteFormat( lig, col, "103000", "HeureMinuteSeconde", 0, " ", false,cc,pp)
case 8
OpenXml_WriteFormat( lig, col, "70", "Duree", 0, " ", false,cc,pp)
Case 9
OpenXml_WriteFormat( lig, col, choix, " MultiChoix ",0 , \
"Monsieur|Madame" ,false,ccp,pp)
endswitch
;on fait ‘tourner’ les valeurs pour voir tous les cas possibles
Choix++
If Choix > 2
Choix = 1
Endif
TypeDeWritePourLaDemo++
if TypeDeWritePourLaDemo > 9
TypeDeWritePourLaDemo = 1
endif
;couleur prédefinie de excel de 1 a 56
cc++
if cc > 56
cc= 0
endif
switch pp
case 0
pp = pp1
case pp1 ;if pp = pp1
pp = pp2
case pp2 ;if pp = pp2
pp = pp3
case pp3 ;if pp = pp3
pp = 0
endswitch
next
next
LectureTailleFeuille
display " "
display "lecture cellules "
display " "
for lig = 1 to 1000
for col = 1 to 20
retour = OpenXml_Read(lig,col)
display left(retour) & " " 0
next
display " "
next
OpenXml_FileClose()
label fini
OpenXml_End ; fin de l'utilisation de la dll DhdivaltoOpenXML
endp
main
demo
programgoto " " ainsi que les exemples Exemples OpenXml - Excel Bloc de code
Liste des fonctions de OpenXML pour Word
Voir la page dédiée Open XML pour les fichiers DOCX
ainsi que les exemples Exemples OpenXml - Word