strapi-export-import-excel
v1.2.0
Published
A Strapi v5 plugin for exporting and importing collection data as Excel, with live preview and per-collection field configuration.
Maintainers
Readme
strapi-export-import-excel
A Strapi v5 plugin for exporting and importing collection data as Excel (.xlsx) files, with live preview, nested component support, and per-collection field configuration.
Requires: Strapi v5 · Node.js ≥ 18
Plugin preview
Features
- Export to Excel — export any collection with field filtering and column reordering
- Import from Excel / JSON — upsert entries using a configurable identifier field
- Nested Import — import repeatable component data from a separate Excel file, linked to parent entries by an identifier field
- Live preview — paginated table preview before downloading, with drag-and-drop column reordering
- Per-collection field config — configure which fields to include/exclude and their order
- Locale support — export and import specific locales, or bulk import with one sheet per locale
- Relation handling — relations are exported as
field:valueformat and resolved back on import - Repeatable components — exported as JOIN-style rows (one row per component item, parent fields duplicated)
Installation
npm install strapi-export-import-excel
# or
yarn add strapi-export-import-excelRebuild your Strapi admin and restart the server:
npm run build
npm run developUsage
Export
- Go to the plugin page in the Strapi admin sidebar
- Select a collection and (optionally) a locale
- Click Preview & Export to open the preview page
- Reorder or remove columns using the column sorter
- Click Download Excel to download the file
Repeatable components are expanded into multiple rows — parent fields are duplicated for each component item. Component field columns use dot notation (e.g. additionalFaqs.category, additionalFaqs.faqs).
Import
- Select a collection and (optionally) a locale
- Click Upload File and select an
.xlsx,.xls, or.jsonfile - Select the Identifier Field — the column used to match existing entries
- Optionally toggle Publish on import and Bulk locale upload
- Click Start Import
The import will create new entries or update existing ones based on the identifier field.
Nested Import (Repeatable Components)
Use the Nested Import panel to import repeatable component data from a separate Excel file.
- Select a collection
- Select the Component Field (filtered to repeatable components only)
- Select the Parent Identifier Field (the field on the parent to match entries)
- Optionally toggle Bulk locale upload for multi-locale files
- Upload the Excel file and click Start Nested Import
Excel format for nested import
| entryId | category | items | |------|----------|-------| | product-a | name:Electronics | title:Item 1|title:Item 2 | | product-a | name:Accessories | title:Item 3 | | product-b | name:Electronics | title:Item 4 |
- First column = parent identifier value (matches the parent entry)
- Remaining columns = component field names
- Multiple rows with the same identifier = multiple items in the repeatable component array
- Relations use
field:valueformat (e.g.name:Electronics) - For multiple relations in one field, pipe-separate them:
title:Item 1|title:Item 2
Bulk locale upload
When enabled, each sheet in the Excel file represents a locale (sheet name = locale code like en, th). All sheets are processed and component data is imported into their matching locale.
Relation Format
Relations are exported and imported using the field:value syntax:
entryId:my-related-entryThis tells the plugin to look up the target collection where entryId = "my-related-entry".
Resolution priority on export:
- Fields ending in
Id(e.g.productId,categoryId) - Shortcut fields (
name,title) - First available scalar field
Supported import formats:
field:value— explicit field lookup (recommended)- Plain string — falls back to shortcut field matching
For array relations, pipe-separate multiple values:
name:Value A|name:Value B|name:Value CAPI Endpoints
All endpoints are prefixed with /api/strapi-export-import-excel.
| Method | Path | Description |
|--------|------|-------------|
| GET | /settings | Get plugin settings |
| PUT | /settings | Update plugin settings |
| GET | /collections | List all collections |
| GET | /locales | List available locales |
| GET | /collections/:uid/fields | Get fields for a collection |
| GET | /tabledata | Paginated data preview |
| GET | /export | Download export |
| POST | /import | Import file |
| POST | /import-headers | Read column headers from a file |
| POST | /import-component | Import repeatable component data |
Field Configuration
Go to Settings → Export / Import Excel → Collections to configure per-collection field settings:
- Toggle fields on/off for export
- Drag to reorder fields — the order determines column order in the exported file
Notes
- Media fields are excluded from export/import
- Single (non-repeatable) components are flattened into
componentName_subFieldcolumns - Repeatable components are expanded into JOIN-style rows with dot notation headers
- Nested import always publishes the updated entry by default
- Custom fields are excluded from export
License
MIT © Assawin Chittanandha
