Skip to main content
View as Markdown

Import et export des enregistrements

Sovrium déplace des données en masse vers et depuis les tables de trois manières : import CSV (téléverser un fichier pour créer des enregistrements en masse), export (télécharger la vue courante en CSV ou JSON) et presse-papiers (copier/coller des lignes entre une table de données et un tableur). L'import et l'export sont un comportement natif intégré sur chaque table — aucune configuration requise.

Import CSV

Téléversez un fichier CSV pour charger des enregistrements en masse, avec mappage colonne-vers-champ, gestion configurable des doublons et rapport d'erreurs par ligne en cas d'échecs partiels.

POST /api/tables/:tableId/import
Content-Type: multipart/form-data

Body:
  file              (CSV file)
  mapping           (JSON: { "csvColumn": "tableField" })
  duplicateStrategy ("skip" | "overwrite" | "create")
  uniqueField       (field used to detect duplicates)

La réponse résume le résultat et signale les erreurs par ligne sans faire échouer tout l'import :

{
  "imported": 120,
  "skipped": 4,
  "updated": 11,
  "failed": 2,
  "errors": [
    { "row": 17, "field": "email", "error": "Invalid email format" },
    { "row": 92, "field": "amount", "error": "Expected a number" }
  ]
}
Concept Comportement
Mappage de colonnes mapping associe chaque colonne CSV à un champ de table ; les colonnes non mappées sont ignorées
duplicateStrategy: skip Ignorer les lignes dont le uniqueField existe déjà
duplicateStrategy: overwrite Mettre à jour l'enregistrement correspondant existant
duplicateStrategy: create Toujours insérer un nouvel enregistrement
Échec partiel Les lignes valides sont importées ; les lignes invalides sont signalées dans errors

Les enregistrements importés passent la même validation de type de champ et les mêmes permissions au niveau des champs qu'une création normale.

Export

Exportez la vue courante d'une table — toutes les lignes visibles, une sélection choisie à la main, ou les mêmes données au format JSON pour l'outillage développeur.

GET /api/tables/:tableId/export?format=csv&viewId=2&filters=JSON&fields=id,name,status
GET /api/tables/:tableId/export?format=json&fields=id,name,status
GET /api/tables/:tableId/export?format=csv&recordIds=1,2,3&fields=id,name,status

La réponse diffuse le fichier avec une disposition de pièce jointe :

Content-Type: text/csv            (or application/json)
Content-Disposition: attachment; filename="orders.csv"
Paramètre Description
format csv (défaut) ou json
viewId Exporter les lignes d'une vue enregistrée
filters Expression de filtre JSON (même grammaire que le filtrage de liste)
fields Colonnes à inclure séparées par des virgules
recordIds Exporter uniquement les ID d'enregistrements nommés (une sélection choisie à la main)

L'export respecte les permissions de lecture au niveau des champs — les colonnes que l'appelant ne peut pas lire sont omises du fichier.

Presse-papiers

Le composant table de données prend en charge le copier/coller de style tableur, construit sur les points de terminaison standard des enregistrements.

Action Comportement Point de terminaison sous-jacent
Coller des lignes Coller des données séparées par des tabulations depuis Excel/Google Sheets dans une table de données POST /api/tables/:tableId/records/batch
Aperçu du collage Prévisualiser les données collées avec mappage de colonnes avant validation (côté client, puis création en lot)
Copier des lignes Sélectionner des lignes et les copier en valeurs séparées par des tabulations dans le presse-papiers GET /api/tables/:tableId/records

Le collage associe les colonnes séparées par des tabulations aux champs de table (avec une étape d'aperçu/mappage pour que l'utilisateur puisse confirmer avant l'écriture), puis valide via une seule création en lot — gardant l'opération atomique. La copie sérialise les colonnes visibles des lignes sélectionnées en TSV.

Pages associées