Aller au contenu principal

Export Excel

Le besoin​

Les utilisateurs veulent les données d'un écran dans Excel — pour les retravailler hors ligne, les transmettre à une personne sans accès, ou produire un rapport récurrent.

La démarche​

NiveauRéglageRésultat
L'export de la grilleAucun — toute grille le propose.La vue courante en .xlsx ou .csv.
Les classeurs configurésL'onglet Export de l'écran.Un ou plusieurs fichiers .xlsx à plusieurs feuilles, construits par le serveur.

L'export de la grille​

Le menu Exporter au-dessus de chaque grille propose Excel (.xlsx) et CSV (.csv). Le fichier contient les lignes chargées dans la grille, avec ses filtres, son tri et ses colonnes visibles ; Toutes les colonnes (masquées incluses) ajoute les colonnes masquées.

Une colonne à liste de valeurs donne deux colonnes dans le fichier : le libellé, et le code sous <libellé> (ID) — la disposition que relit l'import de l'écran.

L'export porte sur les lignes chargées par la grille : pour un fichier complet, relever le plafond de lignes de l'écran ou resserrer les filtres.

Les classeurs configurés​

Pour un rapport structuré — plusieurs feuilles, un fichier par service —, renseigner l'onglet Export de l'écran. Un bouton Export workbooks apparaît alors au-dessus de la grille ; le serveur construit les fichiers et le navigateur les télécharge (dans un .zip quand il y en a plusieurs).

RéglageEffet
split_byUne colonne de la requête de lecture de l'écran : un fichier par valeur distincte. Vide : un seul fichier.
sheetsLes feuilles de chaque fichier, dans l'ordre. Chaque feuille a un name, une query (avec son connector) et des param_binds — source = "split_value" transmet à la requête la valeur de groupe du fichier.
split_by d'une feuilleUne colonne de la requête de la feuille : un onglet par valeur distincte.
file_name_templateLe nom du fichier ; {{split_value}} et {{screen}} sont remplacés. Par défaut : <écran>_<valeur>.xlsx.

Les noms de feuilles acceptent {{split_value}} et {{sheet_value}} ; ils sont ramenés aux 31 caractères admis par Excel.

Exemple — un fichier par service​

[screens.hr.employees.export]
split_by = "DEPARTMENT"
file_name_template = "effectif_{{split_value}}.xlsx"

[[screens.hr.employees.export.sheets]]
name = "Salariés"
query = "employees_by_department"
param_binds = [{ param = "DEPARTMENT", source = "split_value" }]

[[screens.hr.employees.export.sheets]]
name = "Applications"
query = "applications_by_department"
param_binds = [{ param = "DEPARTMENT", source = "split_value" }]

Le bouton produit un .zip contenant un classeur par service, chacun avec une feuille Salariés et une feuille Applications.

Variantes​

BesoinMoyen
Un export agrégéUne requête (ou une vue de la base) qui agrège, utilisée comme requête de feuille — ou un écran sur cette vue.
Un rapport envoyé chaque semaineVoir Rapport planifié par e-mail.

Pour aller plus loin​

  • Import en masse — recharger la disposition exportée.
  • Écrans — l'onglet Export parmi les autres.
  • API REST — POST /api/screens/{app}/{id}/export construit les classeurs.