Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Sommaire
stylenone

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_GetEndColumn

  • cré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

Bloc de codeprocedure 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

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