VP IMPORT DOCUMENT
Historique
| Release | Modifications |
|---|---|
| 20 R9 | Déclenchement de la fonction de rappel après que les fonctions personnalisées soient terminées |
| 20 R2 | Prise en charge des documents .sjs |
VP IMPORT DOCUMENT ( vpAreaName : Text ; filePath : Text { ; paramObj : Object} )
| Paramètres | Type | Description | |
|---|---|---|---|
| vpAreaName | Text | -> | Nom d'objet formulaire zone 4D View Pro |
| filePath | Text | -> | Chemin d'accès du document |
| paramObj | Object | -> | Options d'import |
Description
La commande VP IMPORT DOCUMENT importe et affiche le document désigné par filePath dans la zone 4D View Pro vpAreaName. Le document importé remplace toutes les données déjà présentes dans la zone.
Dans vpAreaName, passez le nom de la zone 4D View Pro. Si vous passez un nom inexistant, une erreur est retournée.
Dans filePath, passez le chemin et le nom du document à importer. Les formats suivants sont pris en charge :
- Les documents 4D View Pro (extension ".4vp")
- Microsoft Excel (extension ".xlsx")
- documents texte (extension ".txt", ".csv", le document doit être en utf-8)
- Documents SpreadJS (extension ".sjs")
Si l'extension du document n'est pas une extension reconnue, telle que .4vp ou .xlsx, le document est considéré comme un document texte. Vous devez passer un chemin d'accès complet, sauf si le document est situé au même niveau que le dossier Project, auquel cas vous pouvez simplement passer son nom.
Une erreur est retournée si le paramètre filePath est invalide, ou si le fichier est manquant ou mal-formé.
Le paramètre optionnel paramObj vous permet de définir les propriétés du document importé:
| Paramètres | Type | Description | |
|---|---|---|---|
| formula | 4D.Function | Une méthode callback à lancer lorsque l'import est terminé. Vous devez utiliser une formule retournée par la commande Formula. Voir Passer une méthode de callback (formula). | |
| password | text | Microsoft Excel uniquement (optionnel) - Mot de passe utilisé pour protéger un document Microsoft Excel. | |
| csvOptions | object | options d'import csv | |
| range | object | Plage de cellules contenant la première cellule dans laquelle les données seront saisies. Si la plage spécifiée n'est pas une plage de cellules, seule la première cellule de la plage est utilisée. | |
| rowDelimiter | text | Délimiteur de ligne. S'il n'est pas défini, le délimiteur est automatiquement déterminé par 4D. | |
| columnDelimiter | text | Délimiteur de colonne. Par défaut : "," | |
| sjsOptions | object | options d'import sjs | |
| calcOnDemand | boolean | Indique si les formules doivent être calculées uniquement lorsqu'elles sont demandées, la valeur par défaut est faux. | |
| dynamicReferences | boolean | Indique si les fonctions doivent être calculées avec des références dynamiques, la valeur par défaut est vrai. | |
| fullRecalc | boolean | Indique si le calcul doit être effectué après le chargement des données json, la valeur par défaut est faux. | |
| includeFormulas | boolean | Indique s'il faut inclure les formules ; valeur par défaut : true. | |
| includeStyles | boolean | Indique s'il faut inclure les styles ; valeur par défaut : true. | |
| includeUnusedStyles | boolean | Indique si les styles inutilisés doivent être inclus lors de la conversion du fichier Excel xml en json. Valeur par défaut = true. | |
| openMode | integer | ||
| excelOptions | object | Excel uniquement (facultatif) - Options d'export vers Excel | |
| includeStyles | boolean | Indique s'il faut inclure le style ; valeur par défaut : true. | |
| includeFormulas | boolean | Indique s'il faut inclure la formule ; valeur par défaut : true. | |
| frozenColumnsAsRowHeaders | boolean | Indique s'il faut traiter les colonnes figées comme des en-têtes de lignes ; valeur par défaut : false. | |
| frozenRowsAsColumnHeaders | boolean | Indique s'il faut traiter les lignes figées comme des en-têtes de colonnes ; valeur par défaut : false. | |
| fullRecalc | boolean | Indique si le calcul doit être effectué après le chargement des données json, la valeur par défaut est faux. | |
| dynamicReferences | boolean | Indique si les fonctions doivent être calculées avec une référence dynamique, par défaut = true. | |
| calcOnDemand | boolean | Indique si les formules doivent être calculées uniquement lorsqu'elles sont demandées, valeur par défaut = false. | |
| includeUnusedStyles | boolean | Indique s'il faut inclure le style de nom inutilisé lors de la conversion du fichier xml Excel au format json ; valeur par défaut : true. | |
| password | text | Le mot de passe permettant d'ouvrir le classeur. | |
| openMode | text | Mode d'ouverture : normal, différé ou incrémental. Par défaut, normal. |
- L'importation de fichiers aux formats .xslx, .csv et .sjs est asynchrone. Avec ces formats, vous devez utiliser l'attribut
formulasi vous voulez démarrer une action à la fin du traitement du document. - Lors de l'importation d'un fichier au format Microsoft Excel dans un document 4D View Pro, certains paramètres peuvent être perdus. Vous pouvez vérifier vos paramètres avec cette liste de SpreadJS.
- Pour plus d'informations sur le format CSV et les valeurs séparées par des délimiteurs en général, voir cet article sur Wikipedia
- L'utilisation de l'objet excelOptions est recommandée pour l'importation du format ".xlsx". Veillez à ne pas mélanger cet objet avec la propriété héritée de premier niveau password afin d'éviter d'éventuels problèmes.
- La fonction de rappel spécifiée dans l'attribut
formulaest déclenchée une fois que toutes les fonctions 4D personnalisées présentes dans le contenu importé ont terminé leurs calculs. Cela garantit que tous les processus dépendants, tels que les modifications de documents ou les exportations, ne sont exécutés qu'une fois que tous les calculs basés sur des formules ont été entièrement effectués.
Exemple 1
Vous souhaitez importer un document 4D View Pro stocké sur le disque, à l'ouverture du formulaire :
var $docPath : text
If(Form event code=On VP Ready) //Zone 4D View Pro chargée et prête
$docPath:="C:\\Bases\\ViewProDocs\\MyExport.4VP"
VP IMPORT DOCUMENT("VPArea";$docPath)
End if
Exemple 2
Vous souhaitez importer un document Microsoft Excel protégé par un mot de passe dans 4D View Pro :
//Code import
var $o:={}
$o.formula:=Formula(myImport)
$excelOptions:={includeStyles:false;includeFormulas:true;password:"excel123"}
$o.excelOptions:=$excelOptions
VP IMPORT DOCUMENT("ViewProArea";"c:\\tmp\\excelfile.xlsx";$o)
//Méthode de callback myImport
#DECLARE($area : Text; $filePath : Text; $param : Object; $status : Object)
If ($status.success)
ALERT("Import successfully completed")
Else
ALERT("Error: "+$status.errorMessage)
End if
Exemple 3
Vous souhaitez importer un fichier .txt qui utilise une virgule (",") comme délimiteur:
var $params:={}
$params.range:=VP Cells("ViewProArea";0;0;2;5)
VP IMPORT DOCUMENT("ViewProArea";"c:\\import\\my-file.txt";New object("csvOptions";$params))
Voici le résultat :

Voir également
VP EXPORT DOCUMENT
VP NEW DOCUMENT
4D View Pro: Excel import/export update (blog post)