La classe cFichier
C’est la classe de base pour l’accès aux fichiers. Oublions les valeurs de retour -1 (par exemple pour fOuvre) ! Les fonctions ici renvoient des booléens (l’entier d’ouverture du fichier étant géré de manière transparente dans la classe).
La classe cFichierTexte
Comme son nom l’indique, cette classe permet de manipuler les fichiers textes (ANSI et Unicode). Elle possède d’ailleurs une détection du format à l’ouverture d’un fichier.
La méthode de lecture charge un gros bloc et le parcours selon un séparateur (un retour-chariot par exemple), méthode réputée min.30% plus rapide que les fLitLigne. Pour exploiter chaque ligne lue, passez le nom de votre procédure en paramètre de la méthode Parcours. Recevez, dans votre procédure, la ligne lue, le nombre d’octets lus et la taille du fichier (ces deux dernières valeurs pour faire une jauge de progression par exemple). Renvoyez Vrai pour poursuivre le parcours, Faux pour l’interrompre. Exemple :
MaProcédureCallBack(sLigne est une chaine,nLu est un entier,nTotal est un entier) //ici mon traitement, exemple : ListeAjoute(LST_Item, sLigne) Renvoyer Vrai
La classe cFichierTexte est utilisée dans cLog et cTrace du framework.
La classe cFichierExcel
Cette classe permet d’ouvrir et de créer des fichiers au format XML compatible Excel.
Cette classe permet une personnalisation fine des styles en donnant facilement accès aux couleurs (de texte, de bord et de fond), à la taille de caractère, au gras/souligné/italique et barré, aux alignements horizontaux et verticaux, aux formats de cellule, aux orientations de texte, aux fusions, … tout cela sans avoir installé Excel sur le poste ni devoir utiliser un champ Tableur. Pratique pour des services Windows ou webservices.
Exemple :
PROCÉDURE Export(sNomFichier est une chaîne) oExcel est un objet dynamique oExcel = allouer un objet "cFichierExcel"(10,10.8,12.57) nNumFeuille,nLigneTotal sont des entiers sFormule,sDate sont des chaines sMasque est une chaîne = "#,##0.00\ ""$""_);\(#,##0.00\ ""$""\)" nFormatCelluleMonétaire est un entier = 6 //_FormatCelluleMonétaire nFormatCellulePourcent est un entier = 8 nFormatCelluleNumérique est un entier = 2 nFormatCelluleDate est un entier = 5 sFormatBordContinu est une chaîne = "Continuous" sFichier est une chaîne = fSélecteur("", sNomFichier ,"Choisissez le nom du fichier d'export","Fichiers XML (*.XML)" + TAB + "*.XML", "*.XML", fselCrée + fselExiste) SI pas sFichier~="" ALORS SI oExcel.bCrée(sFichier) ALORS nNumFeuille=oExcel.nFeuilleAjoute("Ma première feuille") SI nNumFeuille>0 ALORS oExcel.p_nFeuilleEnCours(nNumFeuille) oExcel.CelluleValeur("A1","Titre1");oExcel.CelluleGras("A1",Vrai);oExcel.ColonneLargeur("A",15) oExcel.CelluleValeur("B1","Titre2");oExcel.CelluleGras("B1",Vrai);oExcel.ColonneLargeur("B",30) POUR TOUTE LIGNE nLigne de TABLE_Données oExcel.CelluleValeur("A"+(nLigne+1),TABLE_Données[nLigne].COL_Données1) oExcel.CelluleValeur("B"+(nLigne+1),TABLE_Données[nLigne].COL_Données2) FIN sFormule="=SUM(R[-"+(TABLE_Données..Occurrence+1)+"]C2:R[-1]C2)";nLigneTotal=(TABLE_Données..Occurrence+2) oExcel.CelluleFormule("C"+nLigneTotal,sFormule);oExcel.CelluleFormat("B"+nLigneTotal,nFormatCelluleMonétaire);oExcel.CelluleMasque("B"+nLigneTotal,sMasque) SINON ERREUR("Impossible de créer la première feuille",oExcel.m_sErreur) FIN SINON ERREUR(oExcel.m_sErreur) FIN FIN