DMN Import and Export

Introduction

Axelor Studio provides several mechanisms for importing and exporting DMN data:

  • Excel export/import: Transfer decision table rules as Excel spreadsheets

  • DMN XML upload/download: Transfer the complete DMN diagram as XML

  • AppLoader data import/export: Include DMN models in application data packages

Excel Export

Click the Export button in the DMN model form toolbar (or the "Export" button in the editor toolbar) to export all decision tables as an Excel file (.xlsx).

Export Format

The generated Excel file follows this structure:

  • One sheet per decision table: Each sheet is named with the decision ID

  • Header row: Uses the format {Label}({Id}) for both input and output columns, plus an "Annotation" column at the end

  • Data rows: Each row contains the input entry values, output entry values, and the rule description (annotation)

  • Column sizing: All columns are auto-sized for readability

Table 1. Example Excel structure
Age(Input_1) Risk Level(Output_1) Annotation

< 25

High

Young driver

[25..65]

Medium

Standard

> 65

High

Senior driver

All input and output columns must have labels defined before exporting. Missing labels will cause an error: "Missing input label" or "Missing output label".

Export File

The exported file is named \{DMN model name\}.xlsx and is automatically downloaded via the browser.

Excel Import

Click the Import button in the DMN model form toolbar (or the "Import" button in the editor toolbar) to import decision table data from an Excel file.

Import Steps

  1. Click the Import button to open the import dialog

  2. Upload an Excel file (.xlsx or .xls) using the file selector

  3. Click Import to process the file

DMN import dialog

Import Format Requirements

The Excel file must follow the same format as the export:

  • Sheet names: Must match existing decision IDs in the DMN model

  • Row 0: Title row (ignored during import)

  • Row 1: Header row with format {Label}({Id}) matching existing input/output columns

  • Row 2+: Data rows containing rule values

Import Behavior

Importing data completely replaces all existing rules in the matched decision tables. This operation cannot be undone.

  • Each sheet is matched to a decision table by decision ID (the sheet name)

  • All existing rules in the matched decision table are removed

  • New rules are created from the import data

  • All imported entries use the Groovy expression language

Import Validation

The import process validates the following:

Validation Error Message

File must be .xlsx or .xls format

"Data file must be excel file"

Headers must match existing input/output columns

"Header is invalid in import file"

Output columns cannot be empty

"Output columns can’t be empty in import file"

DMN XML Upload/Download

The DMN editor toolbar provides raw XML operations for transferring complete diagrams.

Download

Click the download icon in the editor toolbar to export the current diagram as a .dmn XML file. This includes the complete DRD structure, all decision tables, rules, and configuration.

Upload

Click the upload icon in the editor toolbar to upload a .dmn XML file. This replaces the entire current diagram with the contents of the uploaded file.

Uploading a DMN XML file replaces the entire diagram. Any unsaved changes will be lost.
Use XML upload/download for transferring complete DMN models between environments (e.g., from development to staging). Use Excel import/export for bulk editing of decision table rules.

AppLoader Data Import/Export

DMN models can be included in AppLoader data packages for application deployment and migration.

Data Export Format

The AppLoader exports DMN models as XML with the following structure:

  • Root element: <wkf-dmn-models>

  • Per model: name, description, diagramXml (wrapped in CDATA), metaModel references (by name), jsonModel references (by name), studioApp reference (by code)

Data Import

When importing via AppLoader, DMN models are matched by name (self.name = :name). If a matching model exists, it is updated; otherwise, a new model is created.

The import resolves:

  • MetaModel references by name

  • MetaJsonModel references by name

  • StudioApp references by code

After importing DMN models via AppLoader, you must deploy each model to make the decisions executable by the Camunda engine.