Produits
Contacts
Divers
|
Manuel Excel
La génération d'un fichier au format Excel, depuis un rapport vfp, est tout à fait différent des autres formats traités par XFRX. Les autres formats utilisent des "Textboxes" en position absolue, pour chaque "label" et "TextBox" des rapports. La sortie en XLS, pour sa part, met le texte produit directement dans les cellules sur la feuille d'Excel et fixe la taille des lignes et la largeur des colonnes pour réaliser la disposition désirée. Les lignes et les rectangles, aussi, sont ajoutés comme bordure des cellules, plutôt que graphiques au-dessus de la feuille.Il y a beaucoup d'avantages dans cette approche : les documents produits sont plus petits et beaucoup plus faciles à être modifiés - tous les champs numériques peuvent être employés dans les calculs, il n'est aucun problème pour ajouter des lignes ou des colonnes, changer des attributs de cellules, etc...
Il y a, cependant, des inconvénients, aussi : Les champs ne peuvent pas se recouvrir comme cela :
sinon le rapport ne se convertira pas correctement, et, comme chaque cellule Excel a une marge intérieure de qui ne peut pas être supprimé, la largeur de quelques champs doit être forcée un peu pour s'adapter au contenu entier.
Quoiqu'il soit possible de créer des "textboxes" ayant une position absolues dans Excel, de la même manière que cela fonctionne pour le format Word ou PDF, nous avons pensé qu'il ne semblerait pas très judicieux de faire cela, car l'utilisateur ne tirerait pas bénéfice de la génération Excel.
Pour une génération XLS avec XFRX, les rapports auront probablement besoin d'être adaptés, mais le résultat sera un document Excel normal, comme si quelqu'un l'a créé manuellement.
Démonstration
Le document suivant se compose de plusieurs feuilles : La première
feuille montre la
liste de clients, les feuilles suivantes contiennent des
informations détaillées sur les
factures de chaque client.
Exemple
de Feuille Excel
Ce rapport est inclu avec la version d'évaluation de XFRX. (Voir
Télécharger).
Comment cela fonctionne ?
XFRX se sert de la possibilité de fusionner plusieurs cellules ensemble.
Là où un texte ou un champ commence ou fini, XFRX crée une
rangée et une colonne. Pour
réaliser un meilleur résultat, c'est une bonne chose d'aligner
les textes et les champs
verticalement et horizontalement - le résultat est un document
plus clair avec peu de
rangées et de colonnes. (voir le paragraphe ci-dessous : Comment obtenir
les meilleurs résultats ?)
Au sujet des sauts de pages
Dans la conversion en document XLS, XFRX n'ajoute pas de saut de page contrairement à la manière de générer les documents Word ou PDF - ce qui signifie que le résultat est une feuille aussi longue qu'elle doit être. Si plusieurs de rapports sont traités, chaque rapport est créé dans une feuille différente du document.
Comment appeler la création du document XLS ?
Cela ressemble aux autres formats : local loSession, lnRetval
loSession=EVALUATE([xfrx("XFRX#INIT")])
loSession.initLog()
lnRetVal = loSession.SetParams("output.xls",,,,,,"XLS")
If lnRetVal = 0
loSession.SetOtherParams("NEXT_SHEET_NAME","first")
loSession.ProcessReport("report1")
loSession.SetOtherParams("NEXT_SHEET_NAME","second")
loSession.ProcessReport("report2")
loSession.finalize()
endif
Cet exemple créé un classeur XLS de deux feuilles. Comme vous pouvez voir, la méthode SetOtherParams() peut être employée pour définir les noms des feuilles. Si elle n'est pas appellée, les noms de défaut sont "sheet1", "sheet2", etc...
Comment obtenir les meilleurs résultats ?
- Alignez les champs.
Consulter le document suivant : xls1.xls.
Les colonnes B et C sont presque invisibles (si vous les
rendez plus larges, vous pouvez
voir que les noms de client commencent à la colonne B, le
début du titre "de liste
de client" à la colonne C et le soustritre "client" commence
à la colonne
D - qui est quelque chose que nous ne notons pas dans le
rapport normal, mais nous
pourrions avoir un meilleur résultat dans le XLS si les
champs étaient alignés), la
rangée 4 est très étroite, et entre chaque client, on ajoute
une rangée très mince,
aussi. La "réparation" de ceci est très simple en alignant :
titre, sous titre
et champs, en déplaçant les lignes un peu plus haut.
Le document résultant paraît bien mieux : xls2.xls
- Problème avec la largeur des textes
La taille d'un texte ne peut pas être modifiée dans le
générateur de rapport - elle
prend toujours la taille du texte écrit. Cependant, comme
nous avons mentionné avant,
les cellules d'excel ont de petites marges d'intérieur,
ainsi si nous créons une cellule
aussi large que le texte et mettons le texte dedans, le
texte entier ne rentre pas, le
dernier caractère disparait !
XFRX prend soin de ceci et rend la cellule un peu plus
large, mais ceci peut apporter un
autre problème - s'il y a une autre texte ou un champ près
du bord droit du texte,
l'augmentation de la largeur peut créer un recouvrement d'un
autre texte ou champ, alors
le résultat serait la disparition de l'un des deux textes
(car il ne peut y avoir
seulement qu'une chose à l'intérieur d'une cellule). Ainsi,
veuillez faire attention à
ce sujet et vous assurer qu'il y a assez d'espace entre les
textes ou champs.
- Largeur variable des textes (label)
La largeur des textes (label) dépend du contenu, nous ne
pouvons donc pas aligner les
bords gauches et droits de plusieurs textes, parfois il
pourrait être meilleur de
remplacer des textes (label) par des champs (textbox)
Par exemple, s'il y a beaucoup de texte dans une colonne,
alignée à gauche comme ceci :
Lors de la création du document Excel,
XFRX créera une colonne pour le bord droit de chaque
étiquette :
Cependant, si les textes (label) sont convertis en champ
(textbox),
alors nous pouvons les aligner :
Et le résultat parait mieux :
Il est actuellement très facile de convertir toutes les
textes (label) en boîtes à
textes (textbox), simplement en ouvrant le rapport dans
FoxPro et remplacer le type
d'objet :
USE report.frx
REPLACE objtype WITH 8 ALL FOR objtype = 5
USE
Faites nous savoir
Votre "feedback" est très important pour nous. Merci de nous faire
savoir
vos impressions, sur cette fonctionnalité, ou si vous avez un
problème avec votre
rapport, envoyez-le :
au distributeur Français :
ou à
l'éditeur : .
|