Collection Exporter
Export collection data to CSV and Excel (XLSX) directly from the Strapi admin panel. Includes search, date filters, column selection, sorting, and pagination.
Strapi Plugin - Collection Exporter
Export your Strapi collection data to CSV and Excel (XLSX) with advanced filtering, search, column selection, and pagination — directly from the admin panel.
Features
- CSV/Excel Button — Adds a "CSV/Excel" button to every collection type list view
- Export to CSV — Download filtered data as a CSV file with proper encoding (UTF-8 BOM)
- Export to Excel — Download filtered data as a native XLSX file (no warning dialogs)
- Full Data Table — View all entries in a responsive modal with all columns
- Global Search — Search across all text fields (string, text, richtext, email)
- Date & Time Range Filters — Filter entries by date and time with From/To pickers and validation
- Column Selection — Choose which columns to display and export using the column picker
- Pagination — Navigate through large datasets with configurable page sizes (10, 25, 50, 100)
- Column Sorting — Click any column header to sort ascending or descending
- Auto Column Detection — Automatically detects and displays all non-sensitive fields
- Media URL Resolution — Media fields are exported as full URLs
- Relation Handling — Relation fields are exported with their IDs
- Batch Export — Exports all data (not just the current page) with server-side batching
Requirements
- Strapi v5.x
- Node.js >= 20.x
Installation
npm install strapi-plugin-collection-exporterOr with yarn:
yarn add strapi-plugin-collection-exporterConfiguration
Add the plugin to your Strapi configuration in config/plugins.ts (or config/plugins.js):
export default {
'collection-exporter': {
enabled: true,
},
};Then rebuild your admin panel:
npm run build
npm run developUsage
- Navigate to any Collection Type in the Content Manager
- Click the "CSV/Excel" button in the list view actions area
- A modal opens displaying all entries with all columns
- Use the search bar to filter across all text fields
- Use From Date/Time and To Date/Time pickers to filter by date range
- Click column headers to sort data
- Use the Columns button to select which columns to display and export
- Use the page size selector to control how many entries are shown per page
- Click CSV or Excel to download the data with your current filters and column selection applied
- Navigate pages using the pagination controls at the bottom
How It Works
The plugin adds a button to the Content Manager list view using Strapi's injection zone system. When clicked, it opens a full-screen modal that:
- Fetches the collection schema to determine available columns
- Queries the data through a secure admin API endpoint
- Renders results in a paginated, sortable data table
- Applies server-side filtering for search and date ranges
- Exports all matching data (not just the current page) via a dedicated export endpoint
All API endpoints are protected by admin authentication policies.
Security
- All endpoints require admin authentication (
admin::isAuthenticatedAdmin) - Password fields are automatically excluded from results and exports
- System fields (
createdBy,updatedBy,localizations) are excluded to prevent sensitive data leakage - Dynamic zone and component fields are excluded for clarity
- No sensitive data is exposed through the plugin API
- No external requests or data collection
Troubleshooting
Plugin not showing up?
Make sure you've added it to config/plugins.ts and rebuilt the admin panel with npm run build.
Button not visible on a collection? The button only appears on collection type list views, not single types.
Export includes unexpected columns? Use the Columns picker to select only the fields you need before exporting.
Reporting Issues
Please report any issues or feature requests on the GitHub Issues page.
Contributing
Contributions are welcome. Please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
License
MIT License - see the LICENSE file for details.
Author
Nagendra Singh Chauhan — GitHub
Install now
npm install strapi-plugin-collection-exporter
Create your own plugin
Check out the available plugin resources that will help you to develop your plugin or provider and get it listed on the marketplace.