From d626fe5350f2a46710df16c1f3fa6a8e52a7ee91 Mon Sep 17 00:00:00 2001 From: Timon Arendt Date: Mon, 27 May 2024 13:45:40 +0200 Subject: [PATCH 1/2] Added missing Autofilter assignment for DataTable export --- src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs | 5 +++++ src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.cs | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs b/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs index bf1b8946..4f2ad050 100644 --- a/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs +++ b/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs @@ -327,6 +327,11 @@ private async Task GenerateSheetByDataTableAsync(MiniExcelAsyncStreamWriter writ yIndex++; } + if (_configuration.AutoFilter) + { + await writer.WriteAsync(WorksheetXml.Autofilter(GetDimensionRef(maxRowIndex, maxColumnIndex))); + } + await writer.WriteAsync(WorksheetXml.EndSheetData); await writer.WriteAsync(WorksheetXml.EndWorksheet); } diff --git a/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.cs b/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.cs index df6be3df..944268f6 100644 --- a/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.cs +++ b/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.cs @@ -363,6 +363,11 @@ private void GenerateSheetByDataTable(MiniExcelStreamWriter writer, DataTable va yIndex++; } + if (_configuration.AutoFilter) + { + writer.Write(WorksheetXml.Autofilter(GetDimensionRef(maxRowIndex, maxColumnIndex))); + } + writer.Write(WorksheetXml.EndSheetData); writer.Write(WorksheetXml.EndWorksheet); } From 44ee56c4ac1a37c4beb305b7e760aae61f48317f Mon Sep 17 00:00:00 2001 From: Timon Arendt Date: Mon, 27 May 2024 15:30:32 +0200 Subject: [PATCH 2/2] Fixed autofilter being written before EndSheetData --- src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs | 3 ++- src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.cs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs b/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs index 4f2ad050..edd0117e 100644 --- a/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs +++ b/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs @@ -327,12 +327,13 @@ private async Task GenerateSheetByDataTableAsync(MiniExcelAsyncStreamWriter writ yIndex++; } + await writer.WriteAsync(WorksheetXml.EndSheetData); + if (_configuration.AutoFilter) { await writer.WriteAsync(WorksheetXml.Autofilter(GetDimensionRef(maxRowIndex, maxColumnIndex))); } - await writer.WriteAsync(WorksheetXml.EndSheetData); await writer.WriteAsync(WorksheetXml.EndWorksheet); } diff --git a/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.cs b/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.cs index 944268f6..07a7e267 100644 --- a/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.cs +++ b/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.cs @@ -363,12 +363,13 @@ private void GenerateSheetByDataTable(MiniExcelStreamWriter writer, DataTable va yIndex++; } + writer.Write(WorksheetXml.EndSheetData); + if (_configuration.AutoFilter) { writer.Write(WorksheetXml.Autofilter(GetDimensionRef(maxRowIndex, maxColumnIndex))); } - writer.Write(WorksheetXml.EndSheetData); writer.Write(WorksheetXml.EndWorksheet); }