From 564ed6cd13f92a6818e607a2f54b4c22ec0caa17 Mon Sep 17 00:00:00 2001 From: Evan Rusackas Date: Mon, 23 Feb 2026 11:28:40 -0500 Subject: [PATCH] fix(excel): remove unwanted index column from Excel exports (#38176) Co-authored-by: Claude Opus 4.5 (cherry picked from commit c4eb7de6de8ba5bdf927b67c87617ec3f43c90dc) --- superset/common/query_context_processor.py | 4 +++- tests/unit_tests/common/test_query_context_processor.py | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/superset/common/query_context_processor.py b/superset/common/query_context_processor.py index 94f54097e23..add3a966bfb 100644 --- a/superset/common/query_context_processor.py +++ b/superset/common/query_context_processor.py @@ -1004,7 +1004,9 @@ class QueryContextProcessor: ) elif self._query_context.result_format == ChartDataResultFormat.XLSX: excel.apply_column_types(df, coltypes) - result = excel.df_to_excel(df, **current_app.config["EXCEL_EXPORT"]) + result = excel.df_to_excel( + df, index=include_index, **current_app.config["EXCEL_EXPORT"] + ) return result or "" return df.to_dict(orient="records") diff --git a/tests/unit_tests/common/test_query_context_processor.py b/tests/unit_tests/common/test_query_context_processor.py index 68c1e4b7ed1..a2edaddbd8e 100644 --- a/tests/unit_tests/common/test_query_context_processor.py +++ b/tests/unit_tests/common/test_query_context_processor.py @@ -85,7 +85,7 @@ def test_get_data_xlsx( result = processor.get_data(df, coltypes) assert result == b"binary data" mock_apply_column_types.assert_called_once_with(df, coltypes) - mock_df_to_excel.assert_called_once_with(df) + mock_df_to_excel.assert_called_once_with(df, index=False) def test_get_data_json(processor, mock_query_context): @@ -160,7 +160,7 @@ def test_get_data_empty_dataframe_xlsx( result = processor.get_data(df, coltypes) assert result == b"binary data empty" mock_apply_column_types.assert_called_once_with(df, coltypes) - mock_df_to_excel.assert_called_once_with(df) + mock_df_to_excel.assert_called_once_with(df, index=False) def test_get_data_nan_values_json(processor, mock_query_context):