Exporting Dashboard Data to Excel
Superset can export every chart on a dashboard to a single Excel workbook, with each chart's underlying data rendered as its own worksheet. The export reflects the dashboard's currently applied filters.
How the finished workbook reaches you depends on whether the deployment has export storage configured:
- With an export bucket, a background worker builds the workbook and emails the user a time-limited download link.
- Without an export bucket, Superset builds the workbook during the request
and returns it to the browser. This path only supports data exports within
EXCEL_EXPORT_SYNC_MAX_ROWS(see Prerequisites).
Using the export
From a dashboard, open the ... (actions) → Download submenu and choose
Export Data to Excel. The action appears for users who have the dashboard
can_export permission. Where the export is queued you'll see a confirmation
that it is being prepared, then receive the workbook by email. Direct exports
download when ready.
A second option, Export Images to Excel, embeds each non-table chart as a
rendered image (tables stay tabular) instead of exporting raw data. Because it
renders charts through the headless webdriver, this option only appears when the
webdriver screenshot feature flags are enabled (see the prerequisites below);
which viz types stay tabular is controlled by EXCEL_EXPORT_TABLE_VIZ_TYPES.
Image exports always run in the background and require an export bucket.
Notes on the generated workbook:
- One worksheet per chart, named
{chart_id} - {chart title}(truncated to Excel's 31-character limit; the chart id keeps names unique). - Charts nested in tabs are included.
- Data reflects the dashboard's active filter state at the time of export.
- A chart with no saved query context (charts only store one once they've been
re-saved in Explore) still exports when it is a
table,big_number,big_number_totalorpie, by rebuilding the query from the chart's saved form data. Charts of other types — and charts relying on post-processing the rebuild can't reproduce — are skipped; open the chart in Explore and re-save it to include it next time, or configureEXCEL_EXPORT_QUERY_CONTEXT_BUILDER. The workbook's Export Summary sheet lists skipped charts. Queued exports also list them in the email. - Row counts per sheet are capped the same way as the chart-level CSV/Excel
export (
ROW_LIMIT, bounded bySQL_MAX_ROW), and never exceed Excel's per-sheet maximum.
Prerequisites
Dashboard data exports need no configuration. By default, Superset builds the
workbook during the request and returns it to the browser. The combined
row_limit of its queries must not exceed EXCEL_EXPORT_SYNC_MAX_ROWS (100,000
by default). Aggregate-only queries count as one row; other queries without a
row_limit use ROW_LIMIT. Queries that use grouping sets require the
background path. Keep this setting within your web server's request timeout.
For larger data exports and all image exports, configure the background path:
- The
boto3dependency. It is not installed by default; install it withpip install apache-superset[excel-export]. Without it, exports fail and the user receives a failure email. - An S3 bucket. Set
EXCEL_EXPORT_S3_BUCKETto queue exports and deliver them by email. - A running Celery worker. The queued export runs as a Celery task. If no worker is running, the request is accepted but nothing is produced.
- A configured SMTP transport. The download link is delivered by email
using the same settings as alerts & reports (
SMTP_*,EMAIL_REPORTS_SUBJECT_PREFIX).
Export Images to Excel also requires the headless webdriver used by scheduled
reports and thumbnails (WEBDRIVER_*,
plus the ENABLE_DASHBOARD_SCREENSHOT_ENDPOINTS and
ENABLE_DASHBOARD_DOWNLOAD_WEBDRIVER_SCREENSHOT feature flags). The menu option
is hidden without an export bucket or when those flags are off. If the
webdriver is unreachable, image charts come back empty even though the data
export path still works.
Deployments that override CELERY_CONFIG must add
"superset.tasks.export_dashboard_excel" to the imports tuple, or the task
will not register.
Configuration keys
| Key | Default | Description |
|---|---|---|
EXCEL_EXPORT_S3_BUCKET | None | Destination bucket. When unset, eligible data exports download directly. |
EXCEL_EXPORT_SYNC_MAX_ROWS | 100000 | Maximum combined query row_limit for a direct download. Ignored when a bucket is configured. |
EXCEL_EXPORT_S3_KEY_PREFIX | "dashboard-exports/" | Key prefix: {prefix}{dashboard_id}/{job_id}.xlsx. |
EXCEL_EXPORT_LINK_TTL_SECONDS | 86400 | Lifetime of the pre-signed download URL (24h). |
EXCEL_EXPORT_S3_CLIENT_KWARGS | {} | Extra arguments for boto3.client("s3", ...), such as region_name or an endpoint_url for MinIO or LocalStack. |
EXCEL_EXPORT_TABLE_VIZ_TYPES | None | Viz types kept tabular in image mode. None uses table, pivot_table, and pivot_table_v2. |
EXCEL_EXPORT_QUERY_CONTEXT_BUILDER | None | Optional callable that builds a query context from Slice.form_data. Return None to use the built-in rebuild. |
Credentials and region resolve through the standard boto3 chain (environment
variables, shared config, or instance role) unless overridden via
EXCEL_EXPORT_S3_CLIENT_KWARGS. The worker needs s3:PutObject on the bucket.
Security considerations
- The emailed link is a pre-signed S3 URL: anyone who holds it can download
the workbook until it expires. Direct downloads are not stored or linked.
Keep the bucket private, enable encryption, and consider a lifecycle rule
to delete objects after a few days.
Lower
EXCEL_EXPORT_LINK_TTL_SECONDSif 24 hours is too long for your data. - The export runs with the requesting user's permissions; each chart's query is access-checked, so users only ever receive data they are entitled to.
Limitations
- Dashboard Excel export requires a signed-in, non-guest account with an email address, including for direct downloads. Logged-in users viewing an embedded dashboard can still use the export.
- The default Export Data to Excel mode exports data only (no visual styling). Use Export Images to Excel to embed rendered chart images, which requires an export bucket and the webdriver setup described above.
- Scheduled/automated exports are not part of this feature.