L'import et l'export CSV peuvent être réalisés sur des tables via l'interface utilisateur en utilisant le menu 'Actions' de l'espace de travail.
L'import et l'export sont réalisés dans le contexte d'un jeu de données.
L'import et l'export peuvent aussi être réalisés programmatiquement.
Les valeurs par défaut des options peuvent être définies dans 'Administration', sous Interface utilisateur > Configuration de l'interface graphique > Valeurs par défaut des options > Import / Export.
Lors d'un export au format CSV, si des filtres sont appliqués à la table, seuls les enregistrements correspondant au filtre seront inclus.
Les options d'export CSV sont :
Nom du fichier de téléchargement | Spécifie le nom du fichier CSV à exporter. Ce champ est pré-rempli avec le nom de la table source des enregistrements. |
Jeu de caractères | Spécifie le jeu de caractère à utiliser pour le fichier exporté. La valeur par défaut est UTF-8. |
Activer l'héritage | Afin de prendre en compte l'héritage lors d'un export CSV, l'option doit être spécifiée au préalable dans le modèle. Pour plus d'informations sur l'héritage, voir Héritage et résolution de valeur. Spécifie si l'héritage est pris en compte durant l'export CSV. Si l'héritage est activé, les valeurs de champs résolues sont exportées avec les données techniques qui définissent le mode d'héritage potentiel de l'enregistrement ou du champ. Si l'héritage est désactivé, les valeurs de champs résolues sont exportées et les enregistrements occultés sont ignorés. Par défaut, cette option est désactivée. Note : L'héritage est toujours ignoré lorsque le jeu de données de la table n'a pas de parent ou si la table n'a pas de champ hérité. |
Mode convivial | Indique si les valeurs doivent être présentées de façon conviviale pour l'utilisateur ou sous leur forme brute (format XML standard). En mode convivial, les dates et les nombres sont formatés selon la région de l'utilisateur, les clés étrangères et valeurs énumérées présentent les libellés associés, etc. Note : Si cette option est sélectionnée, le fichier exporté ne pourra pas être ré-importé. |
Inclure les données techniques | Indique si des données techniques internes seront incluses dans l'export. Note : Si cette option est sélectionnée, le fichier exporté ne pourra pas être ré-importé. |
En-têtes de colonne | Spécifie s'il faut ou non inclure les en-têtes de colonne dans le fichier CSV.
|
Séparateur de champ | Spécifie le séparateur de champ à utiliser lors des exports. Le séparateur par défaut est la virgule, il peut être redéfini dans Administration > Interface utilisateur. |
Séparateur de liste | Spécifie le séparateur à utiliser pour les listes de valeurs. Le séparateur par défaut est le retour à la ligne, il peut être redéfini dans Administration > Interface utilisateur. |
Les exports CSV programmatiques sont réalisés en utilisant les classes
et ExportSpec
dans l'API Java.ExportImportCSVSpec
Nom du fichier de téléchargement | Spécifie le nom du fichier CSV à importer. |
Mode d'import | Lors de l'import d'un fichier CSV, il est nécessaire de spécifier un des modes suivants, qui contrôlera l'intégrité des opérations entre la source et la table cible.
|
Jeu de caractères | Spécifie le jeu de caractère à utiliser pour le fichier importé. La valeur par défaut est UTF-8. |
En-têtes de colonne | Spécifie s'il faut ou non inclure les en-têtes de colonne dans le fichier CSV.
|
Séparateur de champ | Spécifie le séparateur de champ à utiliser lors des imports. Le séparateur par défaut est la virgule, il peut être redéfini dans Administration > Interface utilisateur. |
Séparateur de liste | Spécifie le séparateur à utiliser pour les listes de valeurs. Le séparateur par défaut est le retour à la ligne, il peut être redéfini dans Administration > Interface utilisateur. |
Activer l'héritage | Afin de prendre en compte l'héritage lors d'un export CSV, l'option doit être spécifiée au préalable dans le modèle. Pour plus d'informations sur l'héritage, voir Héritage et résolution de valeur et Spécifie si l'héritage est pris en compte pendant un import CSV. Si les données techniques dans le fichier CSV définissent un mode d'héritage, les champs ou les enregistrements correspondants sont obligatoirement hérités. Si des données techniques définissent un mode occulté, les enregistrements correspondants sont obligatoirement occultés. Autrement, les champs sont écrasés au profit de valeurs issues du fichier CSV. Par défaut, cette option est désactivée. Note : L'héritage est toujours ignoré lorsque le jeu de données de la table n'a pas de parent ou si la table n'a pas de champ hérité. |
Les imports CSV programmatiques sont réalisés en utilisant les classes
et ImportSpec
dans l'API Java.ExportImportCSVSpec
Les services d'import et d'export CSV supportent les champs à valeurs multiples, à savoir les listes agrégées. Seules les listes simples telles que les listes de string
, date
, ou int
et les clés étrangères sont supportées. Si une clé étrangère est liée à un enregistrement via une clé primaire composée, chaque champ de la clé étrangère est une chaîne formatée, par exemple, "true|99". Les listes agrégées des groupes ne sont pas exportées.
Lors d'un export, les éléments de la liste sont séparés par le séparateur de ligne. Dans les cas où le champ exporté contient déjà un séparateur de ligne, par exemple dans un osd:html
ou un osd:text
, le code _crnl_
est inséré à la place du séparateur de ligne du champ de valeur. Le même formatage est attendu lors de l'import, l'ensemble des valeurs de champ sont alors entourées de guillemets.
Les champs cachés sont exportés en tant que chaînes ebx-csv:hidden
. Une chaîne cachée importée ne modifiera pas le contenu d'un champ.
En utilisant les services d'import et d'export CSV, une chaîne dont la valeur est null
est exportée en tant que chaîne vide. Par conséquent, une boucle de procédure d'export-import finira par remplacer les valeurs de chaîne null
par des chaînes vides.
En utilisant les services programmatiques, la valeur spécifique ebx-csv:nil
peut être assignée à des chaînes dont la valeur est null
. Dans ce cas, les valeurs de chaîne null
ne seront pas remplacées par des chaînes vides lors de boucles de procédure export-import. Voir ExportImportCSVSpec.setNullStringEncoded
dans l'API Java pour plus d'informations.
Les formats de date et d'heure suivants sont supportés :
Type | Format | Exemple |
---|---|---|
xs:date | aaaa-MM-jj | 2007-12-31 |
xs:time | HH:mm:ss ou HH:mm:ss.SSS | 11:55:00 |
xs:dateTime | aaaa-MM-jjTHH:mm:ss ou aaaa-MM-jjTHH:mm:ss.SSS | 2007-12-31T11:55:00 |
Les services d'import et d'export CSV ne supportent pas les groupes à valeurs multiples, à savoir, des listes agrégées d'éléments de type complexe. L'export de ces nœuds ne causera aucune erreur, cependant, aucune valeur ne sera exportée.
Dans un fichier CSV, il est impossible de différencier un groupe terminal créé, contenant uniquement des champs vides, d'un groupe terminal non créé.
Par conséquent, quelques différences peuvent apparaître lors de la comparaison après avoir réalisé une boucle de procédure d'export-import. Afin de s'assurer de la symétrie de l'import et de l'export, il est préférable d'utiliser la fonction import et export XML. Voir Import et export XML.
Si deux colonnes partagent le même libellé, l'export de la table peut être réalisé avec succès, mais les données exportées ne pourront pas être ré-importées par la suite.
Les services d'import et d'export CSV ne supportent pas les valeurs d'association, c'est à dire les enregistrements associés.
L'export de ces champs ne causera aucune erreur, cependant, aucune valeur ne sera exportée.
L'import de ces champs causera une erreur et la procédure d'import échouera.
Les services d'import et d'export CSV ne supportent pas les valeurs de sélection, c'est à dire les enregistrements sélectionnés.
L'export de ces champs ne causera aucune erreur, cependant, aucune valeur ne sera exportée.
L'import de ces champs causera une erreur et la procédure d'import échouera.