ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

AppendFromDocx   



L'auteur

Vilhelm-Ion Praisach
Roumanie Roumanie
Membre Simple
# 0000004149
enregistré le 09/01/2015

http://praisachion.blogspot.ro
Praisach Vilhelm-Ion
Fiche personnelle


Note des membres
pas de note

Contributions > 01 - PRG : Programmation > Import - Export

AppendFromDocx
# 0000000902
ajouté le 21/06/2015 19:51:42 et modifié le 12/07/2015
consulté 11177 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0
VFP 8.0


Télécharger le ZIP (2.61 Ko)
Description
Ceci est la paire de copytodocx

1) AppendFromDocx:
- Importe les données du document docx, dans un curseur ou une table déjà existante et ouvert.
- Le type de champ et le nom sont ceux du curseur / table (aucun validations sont effectuées)
- SET DATE doit être correctement réglée, pour importer les champs de date et datetime
- Un champ logique est remplacé par .T, si la cellule contient «true», et avec .F, sinon..

2) ImportFromDocx:
- Retourner le nom de la table / cursor généré
- Analyser la première (importé) ligne de la table du docx, et obtenir le nombre de colonnes et les types de données à partir de cette ligne
- Crée un DBF / cursor (selon le sixième paramètre)
- Et remplir ce DBF avec les données du docx
- Le champs sont nommés mField1, mField2 etc.
- Un champ est considéré comme de type date, si CTOD () ne soit pas vide; SET DATE doit être correctement réglée, pour importer les valeurs de date et datetime
- Le séparateur décimal est tirée de SET POINT TO
- Un champ est considéré comme de type nombre, si ne contient que des chiffres, et pas plus d'un séparateur décimal, et pas plus d'un + ou - (soit une +, soit une -) dans la position la plus à gauche
- La taille et la précision du champ numérique est calculé avec MAX (LEN (ALLTRIM (valeur de la cellule))), respectivement avec MAX (LEN (ALLTRIM (valeur de la cellule)) - AT (séparateur décimal, ALLTRIM (valeur de la cellule))
- Un champ est considéré comme logique si la cellule contient «true» ou «false»
- La longueur des champs de caractères est MAX (LEN (valeur de la cellule))
- Si MAX (LEN (valeur de la cellule))> 254, le champ est MEMO

Nouveaux version AppendFromDocx 1.3
- une meilleure détection de la teneur en cellules

Contrairement
appendfromdocx, importfromdocx crée une nouvelle table, essayant d'imiter le comportement de la commande IMPORT

ImportFromDocx 1.3
- une meilleure détection de la teneur en cellules
- retourner le nom de la table / cursor généré; le meme nome avec xlsx / SYS(2015) / chaîne vide en cas d'erreur
- si MAX (LEN (valeur de la cellule))> 254 ou contient un CHR(13), le champ est MEMO

Code source :
* 1) Importer dans l'alias de courant
= appendfromdocx('MonFichierWord.docx')
* 2) Importer dans MonTableau
* MonTableau doit etre ouvert
= appendfromdocx('MonFichierWord.docx''MonTableau')
* 3) Importer que les colonnes Champ1 et Champ2
= appendfromdocx('MonFichierWord.docx' , , 'Champ1,Champ2')
* 4) Éviter le premier ligne, et commencer avec le second
= appendfromdocx('MonFichierWord.docx' , , , 2)
* 5) Importez le deuxieme tableau du document docx
= appendfromdocx('MonFichierWord.docx' , , , , 2)
Commentaires
Aucun commentaire enregistré ...

Publicité

Les pubs en cours :


www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3