From a8e41c26df835c7b20d055c8d19ec96fafe4d5eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 01:03:15 +0000 Subject: [PATCH 1/6] Bump NUnit.Analyzers from 3.10.0 to 4.1.0 Bumps [NUnit.Analyzers](https://github.com/nunit/nunit.analyzers) from 3.10.0 to 4.1.0. - [Release notes](https://github.com/nunit/nunit.analyzers/releases) - [Changelog](https://github.com/nunit/nunit.analyzers/blob/master/CHANGES.txt) - [Commits](https://github.com/nunit/nunit.analyzers/compare/3.10.0...4.1.0) --- updated-dependencies: - dependency-name: NUnit.Analyzers dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- ClosedXML.Tests/ClosedXML.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ClosedXML.Tests/ClosedXML.Tests.csproj b/ClosedXML.Tests/ClosedXML.Tests.csproj index 499b14299..abb9a7202 100644 --- a/ClosedXML.Tests/ClosedXML.Tests.csproj +++ b/ClosedXML.Tests/ClosedXML.Tests.csproj @@ -23,7 +23,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From ed2dbca9f35531ed24fd46bef9e6f2c6e46740f9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 00:43:22 +0000 Subject: [PATCH 2/6] Bump cla-assistant/github-action from 2.3.1 to 2.3.2 Bumps [cla-assistant/github-action](https://github.com/cla-assistant/github-action) from 2.3.1 to 2.3.2. - [Release notes](https://github.com/cla-assistant/github-action/releases) - [Commits](https://github.com/cla-assistant/github-action/compare/v2.3.1...v2.3.2) --- updated-dependencies: - dependency-name: cla-assistant/github-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/cla.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index 9d860852f..dd71d1408 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -11,7 +11,7 @@ jobs: steps: - name: "CLA Assistant" if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' - uses: cla-assistant/github-action@v2.3.1 + uses: cla-assistant/github-action@v2.3.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # the below token should have repo scope and must be manually added by you in the repository's secret From 62be0329f9de7c5cfc46d6686be21a3fc163df9d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 00:18:05 +0000 Subject: [PATCH 3/6] Bump cla-assistant/github-action from 2.3.2 to 2.6.1 Bumps [cla-assistant/github-action](https://github.com/cla-assistant/github-action) from 2.3.2 to 2.6.1. - [Release notes](https://github.com/cla-assistant/github-action/releases) - [Commits](https://github.com/cla-assistant/github-action/compare/v2.3.2...v2.6.1) --- updated-dependencies: - dependency-name: cla-assistant/github-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/cla.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index dd71d1408..ed6e58d51 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -11,7 +11,7 @@ jobs: steps: - name: "CLA Assistant" if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' - uses: cla-assistant/github-action@v2.3.2 + uses: cla-assistant/github-action@v2.6.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # the below token should have repo scope and must be manually added by you in the repository's secret From 33f1269059eee4f4e32030bd4b545f63c9a82178 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Nov 2024 00:46:34 +0000 Subject: [PATCH 4/6] Bump SkiaSharp and SkiaSharp.NativeAssets.Linux.NoDependencies Bumps [SkiaSharp](https://github.com/mono/SkiaSharp) and [SkiaSharp.NativeAssets.Linux.NoDependencies](https://github.com/mono/SkiaSharp). These dependencies needed to be updated together. Updates `SkiaSharp` from 2.88.7 to 2.88.9 - [Release notes](https://github.com/mono/SkiaSharp/releases) - [Commits](https://github.com/mono/SkiaSharp/compare/v2.88.7...v2.88.9) Updates `SkiaSharp.NativeAssets.Linux.NoDependencies` from 2.88.7 to 2.88.9 - [Release notes](https://github.com/mono/SkiaSharp/releases) - [Commits](https://github.com/mono/SkiaSharp/compare/v2.88.7...v2.88.9) --- updated-dependencies: - dependency-name: SkiaSharp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: SkiaSharp.NativeAssets.Linux.NoDependencies dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- ClosedXML/ClosedXML.csproj | 150 ++++++++++++++++++------------------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/ClosedXML/ClosedXML.csproj b/ClosedXML/ClosedXML.csproj index 5f7b64a92..886f93ab2 100644 --- a/ClosedXML/ClosedXML.csproj +++ b/ClosedXML/ClosedXML.csproj @@ -1,75 +1,75 @@ - - - net8.0 - ClosedXML - Codeuctivity.ClosedXML - Francois Botha, Aleksei Pankratev, Manuel de Leon, Amir Ghezelbash, Roman Brandstetter, Stefan Seeland - ClosedXML - $(CURRENT_VERSION) - 0.0.1 - $(Version) - $(Version) - $(Version)-RC - $(GITHUB_SHA) - DevBuild - $(LAST_COMMIT_MESSAGE) - ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API. - NugetIcon.png - https://github.com/Codeuctivity/ClosedXML - Debug;Release - AGPL-3.0-only - true - true - true - snupkg - true - true - ..\ClosedXML.snk - true - https://github.com/Codeuctivity/ClosedXML - nugetReadme.md - true - True - true - AllEnabledByDefault - latest - Excel XLSX OpenXml Windows Linux MacOs - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - True - True - Resources.resx - - - - - - ResXFileCodeGenerator - Resources.Designer.cs - - - + + + net8.0 + ClosedXML + Codeuctivity.ClosedXML + Francois Botha, Aleksei Pankratev, Manuel de Leon, Amir Ghezelbash, Roman Brandstetter, Stefan Seeland + ClosedXML + $(CURRENT_VERSION) + 0.0.1 + $(Version) + $(Version) + $(Version)-RC + $(GITHUB_SHA) + DevBuild + $(LAST_COMMIT_MESSAGE) + ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API. + NugetIcon.png + https://github.com/Codeuctivity/ClosedXML + Debug;Release + AGPL-3.0-only + true + true + true + snupkg + true + true + ..\ClosedXML.snk + true + https://github.com/Codeuctivity/ClosedXML + nugetReadme.md + true + True + true + AllEnabledByDefault + latest + Excel XLSX OpenXml Windows Linux MacOs + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + From 05c7206c2f243fc2870f23afd620c8d8ca6db73b Mon Sep 17 00:00:00 2001 From: Stefan Seeland <168659+stesee@users.noreply.github.com> Date: Sat, 9 Nov 2024 16:18:52 +0100 Subject: [PATCH 5/6] Housekeeping dropped noisy code comments upgraded any dep --- ClosedXML.Examples/ClosedXML.Examples.csproj | 4 +- ClosedXML.Sandbox/ClosedXML.Sandbox.csproj | 2 +- ClosedXML.Tests/ClosedXML.Tests.csproj | 12 +- .../Excel/CalcEngine/LookupTests.cs | 2 +- .../Excel/CalcEngine/MathTrigTests.cs | 2 +- .../Excel/NamedRanges/NamedRangesTests.cs | 2 +- .../Protection/XLSheetProtectionTests.cs | 2 +- .../Protection/XLWorkbookProtectionTests.cs | 2 +- .../Excel/Worksheets/XLSheetViewTests.cs | 2 +- ClosedXML/ClosedXML.csproj | 150 +++++++++--------- ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs | 13 +- ClosedXML/Excel/AutoFilters/XLAutoFilter.cs | 2 +- ClosedXML/Excel/AutoFilters/XLFilter.cs | 2 +- .../Excel/CalcEngine/Functions/Lookup.cs | 2 +- ClosedXML/Excel/CalcEngine/Functions/Tally.cs | 2 +- ClosedXML/Excel/Cells/IXLCell.cs | 2 +- .../Excel/DataValidation/IXLDataValidation.cs | 2 +- .../DataValidation/IXLDataValidations.cs | 2 +- .../DataValidation/IXLValidationCriteria.cs | 2 +- .../Excel/DataValidation/XLDataValidation.cs | 2 +- .../Excel/DataValidation/XLDataValidations.cs | 2 +- .../Excel/DataValidation/XLDateCriteria.cs | 2 +- .../Excel/DataValidation/XLDecimalCriteria.cs | 2 +- .../DataValidation/XLTextLengthCriteria.cs | 2 +- .../Excel/DataValidation/XLTimeCriteria.cs | 2 +- .../DataValidation/XLValidationCriteria.cs | 2 +- .../DataValidation/XLWholeNumberCriteria.cs | 2 +- .../XLWholeNumberCriteriaBase.cs | 2 +- ClosedXML/Excel/Drawings/IXLPicture.cs | 2 +- ClosedXML/Excel/Drawings/XLMarker.cs | 2 +- ClosedXML/Excel/IXLFileSharing.cs | 2 +- ClosedXML/Excel/IXLSheetView.cs | 2 +- ClosedXML/Excel/IXLWorkbook.cs | 2 +- ClosedXML/Excel/InsertData/ArrayReader.cs | 2 +- .../Excel/InsertData/DataRecordReader.cs | 2 +- .../Excel/InsertData/IInsertDataReader.cs | 2 +- .../InsertData/InsertDataReaderFactory.cs | 2 +- ClosedXML/Excel/InsertData/NullDataReader.cs | 2 +- ClosedXML/Excel/InsertData/ObjectReader.cs | 2 +- .../InsertData/SimpleNullableTypeReader.cs | 2 +- .../Excel/InsertData/SimpleTypeReader.cs | 2 +- .../Excel/InsertData/UntypedObjectReader.cs | 2 +- ClosedXML/Excel/LoadOptions.cs | 2 +- ClosedXML/Excel/PivotTables/IXLPivotFields.cs | 2 +- .../IXLPivotFieldStyleFormats.cs | 2 +- .../PivotStyleFormats/IXLPivotStyleFormat.cs | 2 +- .../PivotStyleFormats/IXLPivotStyleFormats.cs | 2 +- .../IXLPivotTableStyleFormats.cs | 2 +- .../IXLPivotValueStyleFormat.cs | 2 +- .../XLPivotFieldStyleFormats.cs | 2 +- .../PivotStyleFormats/XLPivotStyleFormat.cs | 2 +- .../PivotStyleFormats/XLPivotStyleFormats.cs | 2 +- .../XLPivotTableStyleFormats.cs | 2 +- .../XLPivotValueStyleFormat.cs | 2 +- .../PivotTables/PivotValues/IXLPivotValues.cs | 2 +- .../PivotTables/PivotValues/XLPivotValues.cs | 2 +- ClosedXML/Excel/PivotTables/XLPivotFields.cs | 2 +- .../Excel/Protection/IXLElementProtection.cs | 2 +- ClosedXML/Excel/Protection/IXLProtectable.cs | 2 +- .../Excel/Protection/XLProtectionAlgorithm.cs | 2 +- .../Excel/Protection/XLSheetProtection.cs | 2 +- .../Excel/Protection/XLWorkbookProtection.cs | 2 +- ClosedXML/Excel/Ranges/IXLRangeAddress.cs | 2 +- ClosedXML/Excel/SaveOptions.cs | 2 +- .../Excel/Sparkline/IXLSparkLineGroup.cs | 2 +- .../Excel/Sparkline/IXLSparkLineGroups.cs | 2 +- ClosedXML/Excel/Sparkline/IXLSparkline.cs | 2 +- .../Sparkline/IXLSparklineHorizontalAxis.cs | 2 +- .../Excel/Sparkline/IXLSparklineStyle.cs | 2 +- .../Sparkline/IXLSparklineVerticalAxis.cs | 2 +- ClosedXML/Excel/Sparkline/XLSparkLine.cs | 2 +- ClosedXML/Excel/Sparkline/XLSparkLineGroup.cs | 2 +- .../Excel/Sparkline/XLSparkLineGroups.cs | 2 +- .../Sparkline/XLSparklineHorizontalAxis.cs | 2 +- ClosedXML/Excel/Sparkline/XLSparklineStyle.cs | 2 +- ClosedXML/Excel/Sparkline/XLSparklineTheme.cs | 2 +- .../Sparkline/XLSparklineVerticalAxis.cs | 2 +- ClosedXML/Excel/Style/IXLStyle.cs | 2 +- ClosedXML/Excel/Tables/IXLTableRange.cs | 2 +- ClosedXML/Excel/Tables/IXLTableRows.cs | 2 +- ClosedXML/Excel/Tables/IXLTables.cs | 2 +- ClosedXML/Excel/XLConstants.cs | 2 +- ClosedXML/Excel/XLFileSharing.cs | 2 +- ClosedXML/Excel/XLSheetView.cs | 2 +- ClosedXML/Extensions/AttributeExtensions.cs | 2 +- ClosedXML/Extensions/ColorExtensions.cs | 2 +- ClosedXML/Extensions/DateTimeExtensions.cs | 2 +- ClosedXML/Extensions/DictionaryExtensions.cs | 2 +- ClosedXML/Extensions/DoubleExtensions.cs | 2 +- ClosedXML/Extensions/DoubleValueExtensions.cs | 2 +- ClosedXML/Extensions/EnumerableExtensions.cs | 2 +- ClosedXML/Extensions/FormatExtensions.cs | 2 +- ClosedXML/Extensions/GuidExtensions.cs | 2 +- ClosedXML/Extensions/IntegerExtensions.cs | 2 +- ClosedXML/Extensions/ObjectExtensions.cs | 2 +- .../OpenXmlPartContainerExtensions.cs | 2 +- ClosedXML/Extensions/ReflectionExtensions.cs | 2 +- ClosedXML/Extensions/StringExtensions.cs | 2 +- ClosedXML/Extensions/TypeExtensions.cs | 2 +- ClosedXML/Extensions/XDocumentExtensions.cs | 2 +- ClosedXML/Utils/CryptographicAlgorithms.cs | 2 +- ClosedXML/Utils/DescribedEnumParser.cs | 2 +- ClosedXML/Utils/OpenXmlColorTypeAdapters.cs | 2 +- ClosedXML/Utils/OpenXmlHelper.cs | 2 +- ClosedXML/XLHelper_ASF.cs | 2 +- 105 files changed, 192 insertions(+), 189 deletions(-) diff --git a/ClosedXML.Examples/ClosedXML.Examples.csproj b/ClosedXML.Examples/ClosedXML.Examples.csproj index f347e5fea..68e31ed46 100644 --- a/ClosedXML.Examples/ClosedXML.Examples.csproj +++ b/ClosedXML.Examples/ClosedXML.Examples.csproj @@ -16,8 +16,8 @@ - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/ClosedXML.Sandbox/ClosedXML.Sandbox.csproj b/ClosedXML.Sandbox/ClosedXML.Sandbox.csproj index f657c9e44..23e77a40a 100644 --- a/ClosedXML.Sandbox/ClosedXML.Sandbox.csproj +++ b/ClosedXML.Sandbox/ClosedXML.Sandbox.csproj @@ -7,7 +7,7 @@ false - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/ClosedXML.Tests/ClosedXML.Tests.csproj b/ClosedXML.Tests/ClosedXML.Tests.csproj index abb9a7202..4b9b13eed 100644 --- a/ClosedXML.Tests/ClosedXML.Tests.csproj +++ b/ClosedXML.Tests/ClosedXML.Tests.csproj @@ -20,19 +20,19 @@ - + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/ClosedXML.Tests/Excel/CalcEngine/LookupTests.cs b/ClosedXML.Tests/Excel/CalcEngine/LookupTests.cs index 1b06ad903..a61047a67 100644 --- a/ClosedXML.Tests/Excel/CalcEngine/LookupTests.cs +++ b/ClosedXML.Tests/Excel/CalcEngine/LookupTests.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Excel; using ClosedXML.Excel.CalcEngine.Exceptions; using NUnit.Framework; diff --git a/ClosedXML.Tests/Excel/CalcEngine/MathTrigTests.cs b/ClosedXML.Tests/Excel/CalcEngine/MathTrigTests.cs index ec6a12169..3fa59b1da 100644 --- a/ClosedXML.Tests/Excel/CalcEngine/MathTrigTests.cs +++ b/ClosedXML.Tests/Excel/CalcEngine/MathTrigTests.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Excel; using ClosedXML.Excel.CalcEngine.Exceptions; using NUnit.Framework; diff --git a/ClosedXML.Tests/Excel/NamedRanges/NamedRangesTests.cs b/ClosedXML.Tests/Excel/NamedRanges/NamedRangesTests.cs index b7607058f..1bde80b4f 100644 --- a/ClosedXML.Tests/Excel/NamedRanges/NamedRangesTests.cs +++ b/ClosedXML.Tests/Excel/NamedRanges/NamedRangesTests.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Excel; using NUnit.Framework; using System; diff --git a/ClosedXML.Tests/Excel/Protection/XLSheetProtectionTests.cs b/ClosedXML.Tests/Excel/Protection/XLSheetProtectionTests.cs index ab1953ad0..d13e2c091 100644 --- a/ClosedXML.Tests/Excel/Protection/XLSheetProtectionTests.cs +++ b/ClosedXML.Tests/Excel/Protection/XLSheetProtectionTests.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Excel; using NUnit.Framework; using System; diff --git a/ClosedXML.Tests/Excel/Protection/XLWorkbookProtectionTests.cs b/ClosedXML.Tests/Excel/Protection/XLWorkbookProtectionTests.cs index 3cc0d2b3a..1a48cbdf4 100644 --- a/ClosedXML.Tests/Excel/Protection/XLWorkbookProtectionTests.cs +++ b/ClosedXML.Tests/Excel/Protection/XLWorkbookProtectionTests.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Excel; using NUnit.Framework; using System; diff --git a/ClosedXML.Tests/Excel/Worksheets/XLSheetViewTests.cs b/ClosedXML.Tests/Excel/Worksheets/XLSheetViewTests.cs index df6232394..a4425d700 100644 --- a/ClosedXML.Tests/Excel/Worksheets/XLSheetViewTests.cs +++ b/ClosedXML.Tests/Excel/Worksheets/XLSheetViewTests.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Excel; using NUnit.Framework; using System; diff --git a/ClosedXML/ClosedXML.csproj b/ClosedXML/ClosedXML.csproj index 886f93ab2..ebef7f594 100644 --- a/ClosedXML/ClosedXML.csproj +++ b/ClosedXML/ClosedXML.csproj @@ -1,75 +1,75 @@ - - - net8.0 - ClosedXML - Codeuctivity.ClosedXML - Francois Botha, Aleksei Pankratev, Manuel de Leon, Amir Ghezelbash, Roman Brandstetter, Stefan Seeland - ClosedXML - $(CURRENT_VERSION) - 0.0.1 - $(Version) - $(Version) - $(Version)-RC - $(GITHUB_SHA) - DevBuild - $(LAST_COMMIT_MESSAGE) - ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API. - NugetIcon.png - https://github.com/Codeuctivity/ClosedXML - Debug;Release - AGPL-3.0-only - true - true - true - snupkg - true - true - ..\ClosedXML.snk - true - https://github.com/Codeuctivity/ClosedXML - nugetReadme.md - true - True - true - AllEnabledByDefault - latest - Excel XLSX OpenXml Windows Linux MacOs - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - True - True - Resources.resx - - - - - - ResXFileCodeGenerator - Resources.Designer.cs - - - + + + net8.0 + ClosedXML + Codeuctivity.ClosedXML + Francois Botha, Aleksei Pankratev, Manuel de Leon, Amir Ghezelbash, Roman Brandstetter, Stefan Seeland + ClosedXML + $(CURRENT_VERSION) + 0.0.1 + $(Version) + $(Version) + $(Version)-RC + $(GITHUB_SHA) + DevBuild + $(LAST_COMMIT_MESSAGE) + ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API. + NugetIcon.png + https://github.com/Codeuctivity/ClosedXML + Debug;Release + AGPL-3.0-only + true + true + true + snupkg + true + true + ..\ClosedXML.snk + true + https://github.com/Codeuctivity/ClosedXML + nugetReadme.md + true + True + true + AllEnabledByDefault + latest + Excel XLSX OpenXml Windows Linux MacOs + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + diff --git a/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs b/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs index 1c8af42af..c7064ec47 100644 --- a/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs +++ b/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs @@ -1,19 +1,22 @@ -// Keep this file CodeMaid organised and cleaned using System; using System.Collections.Generic; namespace ClosedXML.Excel { - public enum XLFilterDynamicType { AboveAverage, BelowAverage } + public enum XLFilterDynamicType + { AboveAverage, BelowAverage } - public enum XLFilterType { Regular, Custom, TopBottom, Dynamic, DateTimeGrouping } + public enum XLFilterType + { Regular, Custom, TopBottom, Dynamic, DateTimeGrouping } - public enum XLTopBottomPart { Top, Bottom } + public enum XLTopBottomPart + { Top, Bottom } public interface IXLAutoFilter { [Obsolete("Use IsEnabled")] bool Enabled { get; set; } + IEnumerable HiddenRows { get; } bool IsEnabled { get; set; } IXLRange Range { get; set; } @@ -32,4 +35,4 @@ public interface IXLAutoFilter IXLAutoFilter Sort(int columnToSortBy = 1, XLSortOrder sortOrder = XLSortOrder.Ascending, bool matchCase = false, bool ignoreBlanks = true); } -} +} \ No newline at end of file diff --git a/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs b/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs index 62da98288..c1a089eaf 100644 --- a/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs +++ b/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Linq; using System.Collections.Generic; diff --git a/ClosedXML/Excel/AutoFilters/XLFilter.cs b/ClosedXML/Excel/AutoFilters/XLFilter.cs index de4c76b42..33b64e0ee 100644 --- a/ClosedXML/Excel/AutoFilters/XLFilter.cs +++ b/ClosedXML/Excel/AutoFilters/XLFilter.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/CalcEngine/Functions/Lookup.cs b/ClosedXML/Excel/CalcEngine/Functions/Lookup.cs index 3015948ad..fa4ee04ef 100644 --- a/ClosedXML/Excel/CalcEngine/Functions/Lookup.cs +++ b/ClosedXML/Excel/CalcEngine/Functions/Lookup.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Excel.CalcEngine.Exceptions; using System; using System.Collections.Generic; diff --git a/ClosedXML/Excel/CalcEngine/Functions/Tally.cs b/ClosedXML/Excel/CalcEngine/Functions/Tally.cs index e8b5d747c..409d79878 100644 --- a/ClosedXML/Excel/CalcEngine/Functions/Tally.cs +++ b/ClosedXML/Excel/CalcEngine/Functions/Tally.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Excel.CalcEngine.Exceptions; using System; using System.Collections; diff --git a/ClosedXML/Excel/Cells/IXLCell.cs b/ClosedXML/Excel/Cells/IXLCell.cs index 56855636e..9cc76e134 100644 --- a/ClosedXML/Excel/Cells/IXLCell.cs +++ b/ClosedXML/Excel/Cells/IXLCell.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections; using System.Collections.Generic; diff --git a/ClosedXML/Excel/DataValidation/IXLDataValidation.cs b/ClosedXML/Excel/DataValidation/IXLDataValidation.cs index f8507b756..bc67d6667 100644 --- a/ClosedXML/Excel/DataValidation/IXLDataValidation.cs +++ b/ClosedXML/Excel/DataValidation/IXLDataValidation.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.Collections.Generic; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/DataValidation/IXLDataValidations.cs b/ClosedXML/Excel/DataValidation/IXLDataValidations.cs index 44ec35c19..3754705d7 100644 --- a/ClosedXML/Excel/DataValidation/IXLDataValidations.cs +++ b/ClosedXML/Excel/DataValidation/IXLDataValidations.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections.Generic; diff --git a/ClosedXML/Excel/DataValidation/IXLValidationCriteria.cs b/ClosedXML/Excel/DataValidation/IXLValidationCriteria.cs index 6ab581ec3..f2a4649ae 100644 --- a/ClosedXML/Excel/DataValidation/IXLValidationCriteria.cs +++ b/ClosedXML/Excel/DataValidation/IXLValidationCriteria.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/DataValidation/XLDataValidation.cs b/ClosedXML/Excel/DataValidation/XLDataValidation.cs index 54ea0e24b..29cd4bde8 100644 --- a/ClosedXML/Excel/DataValidation/XLDataValidation.cs +++ b/ClosedXML/Excel/DataValidation/XLDataValidation.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Excel.Ranges; using System; using System.Collections.Generic; diff --git a/ClosedXML/Excel/DataValidation/XLDataValidations.cs b/ClosedXML/Excel/DataValidation/XLDataValidations.cs index 753e83a4e..8949b64aa 100644 --- a/ClosedXML/Excel/DataValidation/XLDataValidations.cs +++ b/ClosedXML/Excel/DataValidation/XLDataValidations.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Excel.Ranges.Index; using System; using System.Collections.Generic; diff --git a/ClosedXML/Excel/DataValidation/XLDateCriteria.cs b/ClosedXML/Excel/DataValidation/XLDateCriteria.cs index d374e4fae..6ca92e554 100644 --- a/ClosedXML/Excel/DataValidation/XLDateCriteria.cs +++ b/ClosedXML/Excel/DataValidation/XLDateCriteria.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/DataValidation/XLDecimalCriteria.cs b/ClosedXML/Excel/DataValidation/XLDecimalCriteria.cs index 4674b4cbc..ae188ffdc 100644 --- a/ClosedXML/Excel/DataValidation/XLDecimalCriteria.cs +++ b/ClosedXML/Excel/DataValidation/XLDecimalCriteria.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/DataValidation/XLTextLengthCriteria.cs b/ClosedXML/Excel/DataValidation/XLTextLengthCriteria.cs index 6a0ce8a16..ff436119f 100644 --- a/ClosedXML/Excel/DataValidation/XLTextLengthCriteria.cs +++ b/ClosedXML/Excel/DataValidation/XLTextLengthCriteria.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/DataValidation/XLTimeCriteria.cs b/ClosedXML/Excel/DataValidation/XLTimeCriteria.cs index 87e8b9f12..49a60e728 100644 --- a/ClosedXML/Excel/DataValidation/XLTimeCriteria.cs +++ b/ClosedXML/Excel/DataValidation/XLTimeCriteria.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/DataValidation/XLValidationCriteria.cs b/ClosedXML/Excel/DataValidation/XLValidationCriteria.cs index 4206d0952..71b70d580 100644 --- a/ClosedXML/Excel/DataValidation/XLValidationCriteria.cs +++ b/ClosedXML/Excel/DataValidation/XLValidationCriteria.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/DataValidation/XLWholeNumberCriteria.cs b/ClosedXML/Excel/DataValidation/XLWholeNumberCriteria.cs index 2154f99e6..b0f275400 100644 --- a/ClosedXML/Excel/DataValidation/XLWholeNumberCriteria.cs +++ b/ClosedXML/Excel/DataValidation/XLWholeNumberCriteria.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { public class XLWholeNumberCriteria : XLWholeNumberCriteriaBase diff --git a/ClosedXML/Excel/DataValidation/XLWholeNumberCriteriaBase.cs b/ClosedXML/Excel/DataValidation/XLWholeNumberCriteriaBase.cs index eda5d1708..c85bf8cbe 100644 --- a/ClosedXML/Excel/DataValidation/XLWholeNumberCriteriaBase.cs +++ b/ClosedXML/Excel/DataValidation/XLWholeNumberCriteriaBase.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/Drawings/IXLPicture.cs b/ClosedXML/Excel/Drawings/IXLPicture.cs index f14404de0..275c1d145 100644 --- a/ClosedXML/Excel/Drawings/IXLPicture.cs +++ b/ClosedXML/Excel/Drawings/IXLPicture.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using SkiaSharp; using System; diff --git a/ClosedXML/Excel/Drawings/XLMarker.cs b/ClosedXML/Excel/Drawings/XLMarker.cs index 89cfb0dcb..27bc277cb 100644 --- a/ClosedXML/Excel/Drawings/XLMarker.cs +++ b/ClosedXML/Excel/Drawings/XLMarker.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using SkiaSharp; using System; using System.Diagnostics; diff --git a/ClosedXML/Excel/IXLFileSharing.cs b/ClosedXML/Excel/IXLFileSharing.cs index a142d40b1..cacf731b8 100644 --- a/ClosedXML/Excel/IXLFileSharing.cs +++ b/ClosedXML/Excel/IXLFileSharing.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/IXLSheetView.cs b/ClosedXML/Excel/IXLSheetView.cs index ff09699bf..0a5d734d9 100644 --- a/ClosedXML/Excel/IXLSheetView.cs +++ b/ClosedXML/Excel/IXLSheetView.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/IXLWorkbook.cs b/ClosedXML/Excel/IXLWorkbook.cs index 6ce84aea1..d18fc8407 100644 --- a/ClosedXML/Excel/IXLWorkbook.cs +++ b/ClosedXML/Excel/IXLWorkbook.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections.Generic; using System.Data; diff --git a/ClosedXML/Excel/InsertData/ArrayReader.cs b/ClosedXML/Excel/InsertData/ArrayReader.cs index ae8139b68..05812eca5 100644 --- a/ClosedXML/Excel/InsertData/ArrayReader.cs +++ b/ClosedXML/Excel/InsertData/ArrayReader.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections; using System.Collections.Generic; diff --git a/ClosedXML/Excel/InsertData/DataRecordReader.cs b/ClosedXML/Excel/InsertData/DataRecordReader.cs index a2b365df3..7b19ff40a 100644 --- a/ClosedXML/Excel/InsertData/DataRecordReader.cs +++ b/ClosedXML/Excel/InsertData/DataRecordReader.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections.Generic; using System.Data; diff --git a/ClosedXML/Excel/InsertData/IInsertDataReader.cs b/ClosedXML/Excel/InsertData/IInsertDataReader.cs index 18e4ad016..58e616ea9 100644 --- a/ClosedXML/Excel/InsertData/IInsertDataReader.cs +++ b/ClosedXML/Excel/InsertData/IInsertDataReader.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.Collections.Generic; namespace ClosedXML.Excel.InsertData diff --git a/ClosedXML/Excel/InsertData/InsertDataReaderFactory.cs b/ClosedXML/Excel/InsertData/InsertDataReaderFactory.cs index bb9bdb4d3..9ee21a489 100644 --- a/ClosedXML/Excel/InsertData/InsertDataReaderFactory.cs +++ b/ClosedXML/Excel/InsertData/InsertDataReaderFactory.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections; using System.Collections.Generic; diff --git a/ClosedXML/Excel/InsertData/NullDataReader.cs b/ClosedXML/Excel/InsertData/NullDataReader.cs index 9088993ca..a54401c32 100644 --- a/ClosedXML/Excel/InsertData/NullDataReader.cs +++ b/ClosedXML/Excel/InsertData/NullDataReader.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.Collections.Generic; using System.Linq; diff --git a/ClosedXML/Excel/InsertData/ObjectReader.cs b/ClosedXML/Excel/InsertData/ObjectReader.cs index 15d9abe88..b136387ce 100644 --- a/ClosedXML/Excel/InsertData/ObjectReader.cs +++ b/ClosedXML/Excel/InsertData/ObjectReader.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Attributes; using ClosedXML.Extensions; using System; diff --git a/ClosedXML/Excel/InsertData/SimpleNullableTypeReader.cs b/ClosedXML/Excel/InsertData/SimpleNullableTypeReader.cs index 6318a8a29..f0f073e56 100644 --- a/ClosedXML/Excel/InsertData/SimpleNullableTypeReader.cs +++ b/ClosedXML/Excel/InsertData/SimpleNullableTypeReader.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections; using System.Collections.Generic; diff --git a/ClosedXML/Excel/InsertData/SimpleTypeReader.cs b/ClosedXML/Excel/InsertData/SimpleTypeReader.cs index ed45480da..a370fdf91 100644 --- a/ClosedXML/Excel/InsertData/SimpleTypeReader.cs +++ b/ClosedXML/Excel/InsertData/SimpleTypeReader.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections; using System.Collections.Generic; diff --git a/ClosedXML/Excel/InsertData/UntypedObjectReader.cs b/ClosedXML/Excel/InsertData/UntypedObjectReader.cs index 723f82111..c668a7a85 100644 --- a/ClosedXML/Excel/InsertData/UntypedObjectReader.cs +++ b/ClosedXML/Excel/InsertData/UntypedObjectReader.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections; using System.Collections.Generic; diff --git a/ClosedXML/Excel/LoadOptions.cs b/ClosedXML/Excel/LoadOptions.cs index e1814de71..bd7546d9a 100644 --- a/ClosedXML/Excel/LoadOptions.cs +++ b/ClosedXML/Excel/LoadOptions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/PivotTables/IXLPivotFields.cs b/ClosedXML/Excel/PivotTables/IXLPivotFields.cs index 69bea4d6c..5d9665829 100644 --- a/ClosedXML/Excel/PivotTables/IXLPivotFields.cs +++ b/ClosedXML/Excel/PivotTables/IXLPivotFields.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.Collections.Generic; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotFieldStyleFormats.cs b/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotFieldStyleFormats.cs index 31d24542b..9cb4f125f 100644 --- a/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotFieldStyleFormats.cs +++ b/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotFieldStyleFormats.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { public interface IXLPivotFieldStyleFormats diff --git a/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotStyleFormat.cs b/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotStyleFormat.cs index 848ea04b2..d11d49b17 100644 --- a/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotStyleFormat.cs +++ b/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotStyleFormat.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { public interface IXLPivotStyleFormat diff --git a/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotStyleFormats.cs b/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotStyleFormats.cs index 4f2b8436e..80ff141a5 100644 --- a/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotStyleFormats.cs +++ b/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotStyleFormats.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.Collections.Generic; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotTableStyleFormats.cs b/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotTableStyleFormats.cs index a1f0456b1..61be8dea8 100644 --- a/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotTableStyleFormats.cs +++ b/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotTableStyleFormats.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { public interface IXLPivotTableStyleFormats diff --git a/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotValueStyleFormat.cs b/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotValueStyleFormat.cs index 044863711..4ad1ad462 100644 --- a/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotValueStyleFormat.cs +++ b/ClosedXML/Excel/PivotTables/PivotStyleFormats/IXLPivotValueStyleFormat.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotFieldStyleFormats.cs b/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotFieldStyleFormats.cs index 93bdcdba5..1d3f0c872 100644 --- a/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotFieldStyleFormats.cs +++ b/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotFieldStyleFormats.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotStyleFormat.cs b/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotStyleFormat.cs index 232b50601..e96af0095 100644 --- a/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotStyleFormat.cs +++ b/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotStyleFormat.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.Collections.Generic; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotStyleFormats.cs b/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotStyleFormats.cs index 94ae2a3f5..3c10628e9 100644 --- a/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotStyleFormats.cs +++ b/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotStyleFormats.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections; using System.Collections.Generic; diff --git a/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotTableStyleFormats.cs b/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotTableStyleFormats.cs index 4705668ce..00c879227 100644 --- a/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotTableStyleFormats.cs +++ b/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotTableStyleFormats.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { internal class XLPivotTableStyleFormats : IXLPivotTableStyleFormats diff --git a/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotValueStyleFormat.cs b/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotValueStyleFormat.cs index 65cd385bd..39d146abf 100644 --- a/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotValueStyleFormat.cs +++ b/ClosedXML/Excel/PivotTables/PivotStyleFormats/XLPivotValueStyleFormat.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/PivotTables/PivotValues/IXLPivotValues.cs b/ClosedXML/Excel/PivotTables/PivotValues/IXLPivotValues.cs index 991ab3134..9e153e222 100644 --- a/ClosedXML/Excel/PivotTables/PivotValues/IXLPivotValues.cs +++ b/ClosedXML/Excel/PivotTables/PivotValues/IXLPivotValues.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.Collections.Generic; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/PivotTables/PivotValues/XLPivotValues.cs b/ClosedXML/Excel/PivotTables/PivotValues/XLPivotValues.cs index 53660aa49..dd3096d8f 100644 --- a/ClosedXML/Excel/PivotTables/PivotValues/XLPivotValues.cs +++ b/ClosedXML/Excel/PivotTables/PivotValues/XLPivotValues.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections; using System.Collections.Generic; diff --git a/ClosedXML/Excel/PivotTables/XLPivotFields.cs b/ClosedXML/Excel/PivotTables/XLPivotFields.cs index c567f0cfa..4cf5458d8 100644 --- a/ClosedXML/Excel/PivotTables/XLPivotFields.cs +++ b/ClosedXML/Excel/PivotTables/XLPivotFields.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections.Generic; using System.Linq; diff --git a/ClosedXML/Excel/Protection/IXLElementProtection.cs b/ClosedXML/Excel/Protection/IXLElementProtection.cs index 4ad855f67..0bba17a89 100644 --- a/ClosedXML/Excel/Protection/IXLElementProtection.cs +++ b/ClosedXML/Excel/Protection/IXLElementProtection.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using static ClosedXML.Excel.XLProtectionAlgorithm; diff --git a/ClosedXML/Excel/Protection/IXLProtectable.cs b/ClosedXML/Excel/Protection/IXLProtectable.cs index e49275e82..e86146488 100644 --- a/ClosedXML/Excel/Protection/IXLProtectable.cs +++ b/ClosedXML/Excel/Protection/IXLProtectable.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using static ClosedXML.Excel.XLProtectionAlgorithm; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/Protection/XLProtectionAlgorithm.cs b/ClosedXML/Excel/Protection/XLProtectionAlgorithm.cs index f1aeee8db..8d254de31 100644 --- a/ClosedXML/Excel/Protection/XLProtectionAlgorithm.cs +++ b/ClosedXML/Excel/Protection/XLProtectionAlgorithm.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.ComponentModel; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/Protection/XLSheetProtection.cs b/ClosedXML/Excel/Protection/XLSheetProtection.cs index 5bf39a11b..ae2dd091e 100644 --- a/ClosedXML/Excel/Protection/XLSheetProtection.cs +++ b/ClosedXML/Excel/Protection/XLSheetProtection.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using static ClosedXML.Excel.XLProtectionAlgorithm; diff --git a/ClosedXML/Excel/Protection/XLWorkbookProtection.cs b/ClosedXML/Excel/Protection/XLWorkbookProtection.cs index c9be9f734..28b81a086 100644 --- a/ClosedXML/Excel/Protection/XLWorkbookProtection.cs +++ b/ClosedXML/Excel/Protection/XLWorkbookProtection.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using static ClosedXML.Excel.XLProtectionAlgorithm; diff --git a/ClosedXML/Excel/Ranges/IXLRangeAddress.cs b/ClosedXML/Excel/Ranges/IXLRangeAddress.cs index 341a279b7..8aa4d8941 100644 --- a/ClosedXML/Excel/Ranges/IXLRangeAddress.cs +++ b/ClosedXML/Excel/Ranges/IXLRangeAddress.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/SaveOptions.cs b/ClosedXML/Excel/SaveOptions.cs index deab0622b..05558b03a 100644 --- a/ClosedXML/Excel/SaveOptions.cs +++ b/ClosedXML/Excel/SaveOptions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/Sparkline/IXLSparkLineGroup.cs b/ClosedXML/Excel/Sparkline/IXLSparkLineGroup.cs index f6d9d2e70..13ce74ba8 100644 --- a/ClosedXML/Excel/Sparkline/IXLSparkLineGroup.cs +++ b/ClosedXML/Excel/Sparkline/IXLSparkLineGroup.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections.Generic; diff --git a/ClosedXML/Excel/Sparkline/IXLSparkLineGroups.cs b/ClosedXML/Excel/Sparkline/IXLSparkLineGroups.cs index ce2c4f27b..abc8c3a75 100644 --- a/ClosedXML/Excel/Sparkline/IXLSparkLineGroups.cs +++ b/ClosedXML/Excel/Sparkline/IXLSparkLineGroups.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.Collections.Generic; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/Sparkline/IXLSparkline.cs b/ClosedXML/Excel/Sparkline/IXLSparkline.cs index 679d051ee..e93eec08f 100644 --- a/ClosedXML/Excel/Sparkline/IXLSparkline.cs +++ b/ClosedXML/Excel/Sparkline/IXLSparkline.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { public interface IXLSparkline diff --git a/ClosedXML/Excel/Sparkline/IXLSparklineHorizontalAxis.cs b/ClosedXML/Excel/Sparkline/IXLSparklineHorizontalAxis.cs index 3a977405b..a958678a6 100644 --- a/ClosedXML/Excel/Sparkline/IXLSparklineHorizontalAxis.cs +++ b/ClosedXML/Excel/Sparkline/IXLSparklineHorizontalAxis.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/Sparkline/IXLSparklineStyle.cs b/ClosedXML/Excel/Sparkline/IXLSparklineStyle.cs index 30bc8ff0b..fc6b1c891 100644 --- a/ClosedXML/Excel/Sparkline/IXLSparklineStyle.cs +++ b/ClosedXML/Excel/Sparkline/IXLSparklineStyle.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/Sparkline/IXLSparklineVerticalAxis.cs b/ClosedXML/Excel/Sparkline/IXLSparklineVerticalAxis.cs index c236d1bf8..dfd9ebffb 100644 --- a/ClosedXML/Excel/Sparkline/IXLSparklineVerticalAxis.cs +++ b/ClosedXML/Excel/Sparkline/IXLSparklineVerticalAxis.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/Sparkline/XLSparkLine.cs b/ClosedXML/Excel/Sparkline/XLSparkLine.cs index 5fd2764ad..82ae70131 100644 --- a/ClosedXML/Excel/Sparkline/XLSparkLine.cs +++ b/ClosedXML/Excel/Sparkline/XLSparkLine.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/Sparkline/XLSparkLineGroup.cs b/ClosedXML/Excel/Sparkline/XLSparkLineGroup.cs index 74a2f9f95..653ab6464 100644 --- a/ClosedXML/Excel/Sparkline/XLSparkLineGroup.cs +++ b/ClosedXML/Excel/Sparkline/XLSparkLineGroup.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections; using System.Collections.Generic; diff --git a/ClosedXML/Excel/Sparkline/XLSparkLineGroups.cs b/ClosedXML/Excel/Sparkline/XLSparkLineGroups.cs index 289d39dd1..d5ec16306 100644 --- a/ClosedXML/Excel/Sparkline/XLSparkLineGroups.cs +++ b/ClosedXML/Excel/Sparkline/XLSparkLineGroups.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections.Generic; using System.Linq; diff --git a/ClosedXML/Excel/Sparkline/XLSparklineHorizontalAxis.cs b/ClosedXML/Excel/Sparkline/XLSparklineHorizontalAxis.cs index 65708651d..5362ccec6 100644 --- a/ClosedXML/Excel/Sparkline/XLSparklineHorizontalAxis.cs +++ b/ClosedXML/Excel/Sparkline/XLSparklineHorizontalAxis.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/Sparkline/XLSparklineStyle.cs b/ClosedXML/Excel/Sparkline/XLSparklineStyle.cs index 966e769e6..7a26a9a73 100644 --- a/ClosedXML/Excel/Sparkline/XLSparklineStyle.cs +++ b/ClosedXML/Excel/Sparkline/XLSparklineStyle.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/Sparkline/XLSparklineTheme.cs b/ClosedXML/Excel/Sparkline/XLSparklineTheme.cs index 8e1dbe76c..14040d998 100644 --- a/ClosedXML/Excel/Sparkline/XLSparklineTheme.cs +++ b/ClosedXML/Excel/Sparkline/XLSparklineTheme.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { public static class XLSparklineTheme diff --git a/ClosedXML/Excel/Sparkline/XLSparklineVerticalAxis.cs b/ClosedXML/Excel/Sparkline/XLSparklineVerticalAxis.cs index 0277db9d2..b9e3bad44 100644 --- a/ClosedXML/Excel/Sparkline/XLSparklineVerticalAxis.cs +++ b/ClosedXML/Excel/Sparkline/XLSparklineVerticalAxis.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/Style/IXLStyle.cs b/ClosedXML/Excel/Style/IXLStyle.cs index 38cd696c1..ad4701b24 100644 --- a/ClosedXML/Excel/Style/IXLStyle.cs +++ b/ClosedXML/Excel/Style/IXLStyle.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/Tables/IXLTableRange.cs b/ClosedXML/Excel/Tables/IXLTableRange.cs index 0b11b54cf..7f0fb0f5e 100644 --- a/ClosedXML/Excel/Tables/IXLTableRange.cs +++ b/ClosedXML/Excel/Tables/IXLTableRange.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/Tables/IXLTableRows.cs b/ClosedXML/Excel/Tables/IXLTableRows.cs index bcb641123..c33de0220 100644 --- a/ClosedXML/Excel/Tables/IXLTableRows.cs +++ b/ClosedXML/Excel/Tables/IXLTableRows.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections.Generic; diff --git a/ClosedXML/Excel/Tables/IXLTables.cs b/ClosedXML/Excel/Tables/IXLTables.cs index fa38beb3c..17c4dc45b 100644 --- a/ClosedXML/Excel/Tables/IXLTables.cs +++ b/ClosedXML/Excel/Tables/IXLTables.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.Collections.Generic; namespace ClosedXML.Excel diff --git a/ClosedXML/Excel/XLConstants.cs b/ClosedXML/Excel/XLConstants.cs index 43c320868..7a4ef40d3 100644 --- a/ClosedXML/Excel/XLConstants.cs +++ b/ClosedXML/Excel/XLConstants.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { //Use the class to store magic strings or variables. diff --git a/ClosedXML/Excel/XLFileSharing.cs b/ClosedXML/Excel/XLFileSharing.cs index 844977067..e6cf93846 100644 --- a/ClosedXML/Excel/XLFileSharing.cs +++ b/ClosedXML/Excel/XLFileSharing.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { diff --git a/ClosedXML/Excel/XLSheetView.cs b/ClosedXML/Excel/XLSheetView.cs index 339ad5101..e3a9ed588 100644 --- a/ClosedXML/Excel/XLSheetView.cs +++ b/ClosedXML/Excel/XLSheetView.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Extensions/AttributeExtensions.cs b/ClosedXML/Extensions/AttributeExtensions.cs index 008de853a..ebf1c6dfa 100644 --- a/ClosedXML/Extensions/AttributeExtensions.cs +++ b/ClosedXML/Extensions/AttributeExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Linq; using System.Linq.Expressions; diff --git a/ClosedXML/Extensions/ColorExtensions.cs b/ClosedXML/Extensions/ColorExtensions.cs index f0b5a66a6..5edc1b439 100644 --- a/ClosedXML/Extensions/ColorExtensions.cs +++ b/ClosedXML/Extensions/ColorExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using DocumentFormat.OpenXml.Spreadsheet; using SkiaSharp; diff --git a/ClosedXML/Extensions/DateTimeExtensions.cs b/ClosedXML/Extensions/DateTimeExtensions.cs index a5b1afb70..98bc1a4cb 100644 --- a/ClosedXML/Extensions/DateTimeExtensions.cs +++ b/ClosedXML/Extensions/DateTimeExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections.Generic; using System.Linq; diff --git a/ClosedXML/Extensions/DictionaryExtensions.cs b/ClosedXML/Extensions/DictionaryExtensions.cs index 559ace5e7..ebb1b3e8d 100644 --- a/ClosedXML/Extensions/DictionaryExtensions.cs +++ b/ClosedXML/Extensions/DictionaryExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections.Generic; using System.Linq; diff --git a/ClosedXML/Extensions/DoubleExtensions.cs b/ClosedXML/Extensions/DoubleExtensions.cs index 79c655ac8..84de314f7 100644 --- a/ClosedXML/Extensions/DoubleExtensions.cs +++ b/ClosedXML/Extensions/DoubleExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Extensions/DoubleValueExtensions.cs b/ClosedXML/Extensions/DoubleValueExtensions.cs index e5f77b054..c36714e00 100644 --- a/ClosedXML/Extensions/DoubleValueExtensions.cs +++ b/ClosedXML/Extensions/DoubleValueExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using DocumentFormat.OpenXml; using System; diff --git a/ClosedXML/Extensions/EnumerableExtensions.cs b/ClosedXML/Extensions/EnumerableExtensions.cs index ceda7715e..66c4f4c44 100644 --- a/ClosedXML/Extensions/EnumerableExtensions.cs +++ b/ClosedXML/Extensions/EnumerableExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections; using System.Collections.Generic; diff --git a/ClosedXML/Extensions/FormatExtensions.cs b/ClosedXML/Extensions/FormatExtensions.cs index 6a900cb4c..1083fa7d3 100644 --- a/ClosedXML/Extensions/FormatExtensions.cs +++ b/ClosedXML/Extensions/FormatExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ExcelNumberFormat; using System.Globalization; diff --git a/ClosedXML/Extensions/GuidExtensions.cs b/ClosedXML/Extensions/GuidExtensions.cs index ab0f94f1b..dfcd382b7 100644 --- a/ClosedXML/Extensions/GuidExtensions.cs +++ b/ClosedXML/Extensions/GuidExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Extensions diff --git a/ClosedXML/Extensions/IntegerExtensions.cs b/ClosedXML/Extensions/IntegerExtensions.cs index 27cf90b1c..6f9108280 100644 --- a/ClosedXML/Extensions/IntegerExtensions.cs +++ b/ClosedXML/Extensions/IntegerExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + namespace ClosedXML.Excel { internal static class IntegerExtensions diff --git a/ClosedXML/Extensions/ObjectExtensions.cs b/ClosedXML/Extensions/ObjectExtensions.cs index abe260362..ae0b75d5e 100644 --- a/ClosedXML/Extensions/ObjectExtensions.cs +++ b/ClosedXML/Extensions/ObjectExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Globalization; diff --git a/ClosedXML/Extensions/OpenXmlPartContainerExtensions.cs b/ClosedXML/Extensions/OpenXmlPartContainerExtensions.cs index 4fc7f6687..13b351b2f 100644 --- a/ClosedXML/Extensions/OpenXmlPartContainerExtensions.cs +++ b/ClosedXML/Extensions/OpenXmlPartContainerExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using DocumentFormat.OpenXml.Packaging; using System.Linq; diff --git a/ClosedXML/Extensions/ReflectionExtensions.cs b/ClosedXML/Extensions/ReflectionExtensions.cs index a6984e161..c5863a274 100644 --- a/ClosedXML/Extensions/ReflectionExtensions.cs +++ b/ClosedXML/Extensions/ReflectionExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.Reflection; namespace ClosedXML.Extensions diff --git a/ClosedXML/Extensions/StringExtensions.cs b/ClosedXML/Extensions/StringExtensions.cs index b78ea1f05..3a80f3281 100644 --- a/ClosedXML/Extensions/StringExtensions.cs +++ b/ClosedXML/Extensions/StringExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.Linq; using System.Text; using System.Text.RegularExpressions; diff --git a/ClosedXML/Extensions/TypeExtensions.cs b/ClosedXML/Extensions/TypeExtensions.cs index cb15cdc10..0519832e2 100644 --- a/ClosedXML/Extensions/TypeExtensions.cs +++ b/ClosedXML/Extensions/TypeExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; namespace ClosedXML.Excel diff --git a/ClosedXML/Extensions/XDocumentExtensions.cs b/ClosedXML/Extensions/XDocumentExtensions.cs index 61df90b84..f224d5f39 100644 --- a/ClosedXML/Extensions/XDocumentExtensions.cs +++ b/ClosedXML/Extensions/XDocumentExtensions.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System.IO; using System.Xml; using System.Xml.Linq; diff --git a/ClosedXML/Utils/CryptographicAlgorithms.cs b/ClosedXML/Utils/CryptographicAlgorithms.cs index a3a1bcd7a..5c3bba51f 100644 --- a/ClosedXML/Utils/CryptographicAlgorithms.cs +++ b/ClosedXML/Utils/CryptographicAlgorithms.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Linq; using System.Security.Cryptography; diff --git a/ClosedXML/Utils/DescribedEnumParser.cs b/ClosedXML/Utils/DescribedEnumParser.cs index b2df10e6b..e4ef8686a 100644 --- a/ClosedXML/Utils/DescribedEnumParser.cs +++ b/ClosedXML/Utils/DescribedEnumParser.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using System; using System.Collections.Generic; using System.ComponentModel; diff --git a/ClosedXML/Utils/OpenXmlColorTypeAdapters.cs b/ClosedXML/Utils/OpenXmlColorTypeAdapters.cs index 5dd2962d8..0a744070c 100644 --- a/ClosedXML/Utils/OpenXmlColorTypeAdapters.cs +++ b/ClosedXML/Utils/OpenXmlColorTypeAdapters.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using DocumentFormat.OpenXml; using DocumentFormat.OpenXml.Spreadsheet; using X14 = DocumentFormat.OpenXml.Office2010.Excel; diff --git a/ClosedXML/Utils/OpenXmlHelper.cs b/ClosedXML/Utils/OpenXmlHelper.cs index 03d62f0b1..3d05954fb 100644 --- a/ClosedXML/Utils/OpenXmlHelper.cs +++ b/ClosedXML/Utils/OpenXmlHelper.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + using ClosedXML.Excel; using DocumentFormat.OpenXml; using DocumentFormat.OpenXml.Spreadsheet; diff --git a/ClosedXML/XLHelper_ASF.cs b/ClosedXML/XLHelper_ASF.cs index 629fff4c6..c1ed240f6 100644 --- a/ClosedXML/XLHelper_ASF.cs +++ b/ClosedXML/XLHelper_ASF.cs @@ -1,4 +1,4 @@ -// Keep this file CodeMaid organised and cleaned + /* ==================================================================== Licensed to the Apache Software Foundation (ASF) under one or more From 3010588235b7c6f391f56df7a0f756519f0da182 Mon Sep 17 00:00:00 2001 From: Stefan Seeland <168659+stesee@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:54:06 +0100 Subject: [PATCH 6/6] Updated tests to prevent os dependent test noise Detail: https://github.com/dotnet/runtime/issues/108742 --- .../Resource/Examples/Misc/CellValues.xlsx | Bin 7529 -> 7527 bytes .../Resource/Examples/Misc/DataTypes.xlsx | Bin 7388 -> 7385 bytes .../Resource/Examples/Ranges/Sorting.xlsx | Bin 24241 -> 20348 bytes ClosedXML.Tests/TestHelper.cs | 10 +++++----- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ClosedXML.Tests/Resource/Examples/Misc/CellValues.xlsx b/ClosedXML.Tests/Resource/Examples/Misc/CellValues.xlsx index c05c42374bd35ba45b9bb2637af2cc9d6c966eca..d9236592d54e70913a2516da8483174888ec77e2 100644 GIT binary patch delta 3795 zcma)9c{G%58y~yIm>ByycEXIA!C>sm$X0`jDA~r6-PqSDg^&g#Ve}%q2u;>_vt_jS zvSq0-kq}DBn)0dlee3j{?~nIB=YG!hoaer-`@VkHdG71?Tf!`0z}A*b%)9^qfE{r0 zxSvA<7{kE!w@t<|$Pl{?xb~D5I@~k4+|8;ay=T)bF4IdK>dv%8cHDmj=iFZI;O|x3 z=AH@ns-T9D{i9pq>6M6#@Nk7^$M4$~oq~^tBeRv@7=ceH%dW$6T~VN#Oq0Fd;iB2% zv#2kISs9LQheCyg&|nS$3;IM7b~e>Wsh!|+>ehVe`05|>t;7?J!UJ9+B$?_l4s7VDKAT3kC;#K+8;Gb6nkC_PmS!;#?agOJR_V)t5B z9k;0GjITT-_12DwW#^``)u&05_TsVo+o^R!v0y32kC!Vd?F`rDmeJX0Th($P=-QmQ z7mHvj+xj8j7ojCl;~?Wusqvj`>)H*^dw+B1%0l7lvS1a9e8oH5Q(gz=pS2O2PdM zA=j&75kRq`NBnImk4~8N!^>Y@pC8G~SNS7rcaB|VLu?Hc^lao%_M=rbDmChE!oyQ> zxl(C2Zx?0g$gqC|-Q{in#s*@u-QoNlOe%(Xl+oZTg>e5}aB+}Y;+qnv>?N^9=yA#R z(LCdu3x=C5k|!Z=P0@RTPeC+iGHr(8_W*9?dNgD5aW);IAEdd#Y^6W^$l8W>)5vfF z$B{U5Pr}>Cw-eW&O+E}cp^eMs=w6)Q?C1 zFL-@33^p%1QI^>Ak+5}%Oa1hPyE!{ZPEK(46CkPXGu)8*CSKL z8rwZ6g)Pf+t7At_*K*L8)J*(Sm(>;>^fgMepHGNIyAmOI?vw00w(cFC4g6W^TdXdo zFXygcu6fhAO{XQGat>pKGVjf1HL^NIN|(%K%#UWZXZB7bz}+YM%(b&Zk3v|^Wq?Lx zR&ZHiGLw4d7}3i^_4?-1nQy+xT+&H@u+mF>=@W-8H4Xs)_&8Q1oH2%;uM<9P!&NnNiLxAZpLuG{?C9V-&32tDWoeU zpDfw}S|w6y29AN?-+&scDU^-g0ZzDC$T9zm`c78*WxjOmTf4WLF2ropm zmeUL5b28cNg8wv)=aSczy7qXv&H&rIiVdDEb07vhSD2zy;JQAKCQMebtdC031{Di9 zg;)!fZiv~yU;2j7JoN3q7LR-zbRaIa>xT|8?Hb{7$pz+Frvf*p zx|bq2yk=kp3r*4<9XkAW-hS7|h!IDc3aq21eC8HUUM1U`%2vy}C?RQmVHeY`mqy;G z>2yFP+)zK$He0&KIX!5yD-}2d+&7HHUTE&KTvT2oY*T{f9$QH`+>eWMfxroThDH5I ztMW^-?)5AD&C(Bg2vZoC5AuO@9i25>pO5yZ(Nsh)#R}HpN40F6)wI$3hB7Xy#4k4-~SA14-mu%`nzekSS3>%$uB_?L|ouY zH1EFR<@dF)eP75Z%#9Y%Ea#sQDHdJo;pk?Z!e}nP;qOgiVg)THIkB!Z_0-oIaI6f+ z<@<>>ffwy3q-8B{!5WWK+(dFjAz8Z}TQU3FCP@1_eRd&?oRO_~nAjF!%24Lh_GQ!f z@w}>~GR}qF#@msWEHX0eotdwQ-A?k>iqqB4OWB^BKKB-xLZ8e|<5J26K0tGCGiP6} z8LJ%EZsZ#2H{=GJkGHDcv?Uc~+AZN9vw`BV7VlU{DaN(=ry;D`T7(U#){Qv1L8PY> zTcq3`-b7r14XMnhvxo^>pDTLNc)QUmwF>w;fj+pW%zPr{kxdUfkXS%8Z|fO*d;MlX zmqe~33z+rNx6T1|VdhPpwJ|4#<|L5-l@Uh+*`8CYU!(6&J3DTP&7;021>S;EW zQnt<68HjJp=H_r)iF#i*=jT+EnDI9BW~lzxjTD;B_iKR32(aJu5EmJ=1i98u@SBgeU*b7OhaoPmjw)SLDXn`4$V^cA_O)xm1HL* zX=vVXcF!`4L)2SQOwV}1Pip%lm5d@9fEJv(1suTNU6S5JFe%*mH3e%&Ynxqw{+>%U{uy!vFd+{T)jC_y3?xglRHRKEfTd=S!2zD%#g ztVbNN@p`oawb55l;s1)4<9C{R_e?VV+<1*pVnEzb&5isGbbHqX2G$1IhWbC%j^tnE zaoQ7z+qtFU{CR$SWv%gk@bm@WhartNf_CC}E3zAm)xGfc`D3uxaVVkgTX}-TE7njp z#Mw0m17{bas%gS)QWX%)B+5kcRfx@dw<(+2dYN>n!nSn>T}J=Y!Pg6#4WRjua9JDW z8)bP%P^!-SRr!t&+d>DFK3FWs^{el^3TJWtvJu;8WcB)K0=<&yF=p*~U~g%%P~PHV zg)sl5)|S;H0M0C5vH6uib8EoLXZg9^Sjs@e{26(oJ+|A9&-IH=)+y&>cK%@zcl-Y+ z=0Vg(bIzIMLqSKpK*$fh4x3#DL#GKR{JSyfB?=e zk_ni%tiW{p#mqlfJm7~cfS3Afkvkx0c~wnyRW~;`cciO3N=;48LsK2?u7Sk6B0XJI zQFwP(cu5? zAel@600IO62p$0NYiN*zL}Y#jqlgGI)&t2yKw+i-4e_G^vj6}sA^-r-FaHCphrA~O zl{zrK!}`6VFAlWD_i6LnvMRE!D2(_oVg0rHuWA(>$d&K&dj)@uPX`Ldnc(3Uq5}W^ z{N?yp=J|If)J`y5oywU@6|{RND~5H6;XOoiVze~5Rl#! zL3$C99#Cp7px{HVSC>EDdhe`tW}P$h?R{qNZ`SN@FUl^2KxC0KUbMD3t8V5!BQ?^+3PcAC~8i;>noL98mE!3r}u>NhR%$8_mrg>!iky^qhiUZrt%n6Rfh$C0C00AKPF>}QNT)^jbDGMsunSMI?Bi=aHLpn&WRiNKoS zhSCX;&4!S7ng8)K3$rIyS38AtE0*}KZ7AG3fCz$ggCbo{AS8WuLo&nzbz)*d2o^>%-V zud_?QF#$I+;sLPjRBf(;=@p0ij=}AC&&?fG!i`d=Py($4hMaY017TW&d%-uGFmt}Ybk75-r# zFBS^!Fy@&sbRJ%iJU2)rHcO4Z`gl%&R?ACLr_Ba?Q=U2 zeQ}Ma2GwIdxJ16%WmfIyC7QOK(;Z(j@=0|j;sSa5Ex?OA3jH9x!H*2lnmgiew^XYm z=P!qI3GvAqo^N;7q~4WYzyEe$0LDwT<@skqNhsQP)aR4%x*k^)B-xV-Z-s5=**&2- zXgL@Cm#lB`mV75aI$HD9WM`~E)ZGueuA94Ze>%7no5_2Ts7Wu6UlsPSO&v{LGngR< zx)l}BaZ-nCIQT3CEsSQo8EZ2%luNn8^lE98rJ>0mCSjtn6te0ux6;wnfKdwNc0Yv& zf!hZns72MnR*emw3BBi3jp2dH58E)lH%>&WD|e14nw63}EjJXhInde#b|bfR{*z~y5c4!(i$W>w|+mv$E&5B0q@vJDGj zS~gr(Eo1Xk%dPoV1e(pf*|C~;&)6Op-MySVH4{gvwJPt37}l&;&NQ8_TGO5MCkBw& zONZ&!{kU^cZT{Tb`47zux?NUT8(<7oK+)*1@=8n6D6s2ZC=JX!kI(BOAFg^4DCBwT zI8mIedomEZA*M0IGO(=$)xf3Ir?pPQSYK5n5(A*i51@?okW+;kqYt5E^{OjrAla_j zv!8X-0-<}>B2n^5N^7n7DVK0mp}HX0>zO}s9moMpS&R@2MW%-mSs6~@fy=I!SzF_E z`-AaIx%Asv7xx(AjVzghYKfLy`5O>k;RQ$V z>Wi4c&m6B`nql6!H&TGcnKzE*ycylbdeA z;watgUAw9#jcRQzL@!1`afOdnu6@;tBMO;`7kjwhLnLDipRmZJw->GUecQwT`Q4LV zGBQ&$|11ku+5}P+ahMr`*Gb`#;W`u>o^(d+t$cdq{IpA0qI#k{Kt(_0b?aU4kEc@H z9Bb-wC~?uzXXBVoqFI5(?=;Q3E3Tf66x@+oAD6y+N<`ZIwg+8Y-|3Bxt?P}~4^qWO z_@kNm*iN5Id7d0v@(FS>I80fnk=#49-5{|zJ|q@|qk}?$O{tU37I+ao(dm+*eEJp> z%UO85l}EQ~9M~`BS|%`zT3gxJ^&L6OG|qW08%W3}Pu{&$g6mf&`5_i)j$KPl3u&^Q zRVN8^#57-WC_hYP8gr!PvmN$7|2q0%VkgZ!B(@+jzT6NkKtEJ&Sz>RbeHp|FBrK4i z+UJBxv8UM&F?oIjeA!x0XdP{ol?xw+i+P_0z32oQ-D)xoWSQjlsB1`crOH5#)cs9f z3vrFfhUC<#J((i!j8C8saY&kVtB<`uZv7 zG7y(hlM~V`irl$yx*KNr+9Q3o2GE!>ugv-wjF7Mfl{~`NGi`)R#sXma?KjobC2SCF z{4@I)UZ$H#wDl@p)}nk{bNhEV2>BvTrO#i}!(-{vY%LYO9S&_3Ee&mn6diwNBs2z`2NRbw3Gl|{{kd|w()SiOG*iE8DXS4mmu}q90 zCngAibm=h$b31$CTJQ7D_ktxfT_<-ufPcIzr`EgYuhVa|yvGg5oy3OLh-6 z)9JUk5OP`uJUk$+A(~?m9g6XB$|1>bfamgF;7aE4@55IZB=?MRLfLm<5`n#O$(ON1 zEZoXBIBEq~ZWAb^C!^E4axo5$%Yz z6a_xl<-$cVq*kRbCHEUIUPQywi#M4^9TWOv8C4w%`pxca3HqhH*{5Rt=+ofL&ffgF z=aii|UX9*7gWS9(llKJ#;=PPJlsvPNm~f!7LO$qTZb*OBgcVNlC?Vf(|FlSpx zfyw7rtnH|CZ!?;{IayD)Y%SebnrkfX;q>3jm27l~@ib4`qBa+M@R+6L$>uGEf<(R& zI-#2Ub5kcN#4gY=oeq#aVIOm2!QcViHXX_xim%;|do**l3Et_Q1iV&QA0BTb`2q34 z2!ReXWL(Is3<$`f#Tb7HOG`wTWjeHXZiiiEA9^Q_0*};xeKtEuTbCnWV{y9TASC!{ zr0$2_$eCiAURf_P+HRmFQM>wYL)M<9`=R-EH$em(~x+kE< zs`!X9(TKGzpmDf@$7|@v;jr`&&W>IJT3EMWxZc~n zV%$76+oNIJK}%gcf4l{u-q~wJImtF$cJEY9j>nz!xK z=cc`0n03xNgzmrv-2F|*?B1eNLPp;=w3*-jE0T(@4S(NE7z8#DJnmnsM@0x>r+>%8 zh|%Y=&gPPzdWDR$-e)iq(@JJKBW|6>F0Z6Vc!!Hr9x{x8%$+Z|{W2o+Md__&{H8j# z04!o?(%$v?4lf&OAfYzTVkR3RCRQTF>?PwBptRF5DsY&otLpse{@&=V1Wk;aXn8FI zJ0*6lW@t8%$IG-~m=-mj>DdIYhnzm3i@DF3GVeHZLMdAO{9X>5!DhppdgOMMwyABu zET49(v*l+>Vg|h+=U2&;BDxf`&SQDYk%xgFHmdEhlifup@hXn~%`3#g&2HNeSA5{c zMmXptec&UkA>x4T164hDBp(AGOw*ow_A#F7-~T({hw4{|OnXLraS{bVN~7RN8yR~P z)?NmQ#M)!A7-=jFErWvF!LS&NJ?R9SCKVS#0*;W7h8ZE?vM`J+0xOAtp^?%^IMJ6~ z`M*4rktX)Bi!%ZLInOhps(?fb=Ai*%F+c_XnXj_sL2a3w-f4zpJm#@2> zt(PD~!%jia0A(YMwnoX=SX;v#kT!N`L5P&1yp(~xo3)>_r-!eTvzM>pzw!Rl<&fGq zd4IJzq$Mu5UmKzsH|kgabB7xZ`dRe8Yw;gaocNv_Ve#{(-LRwF+>thab0p4Lj`aEO zAx`^`TK5Zfv;QH}^|Yv{*}seUpQb;QBn1)p7Q%4;@ zTy`=O-!p@WAYKN+p9Fj-eEi7o_o@E} z_Ayb8R|5Zk67V~!-@M*GO33%g^oQH+qtLJU*t_{kNq)cnHvET>dogYv+{&4Io0_ z-K>uOJdpaIH9;OI3ewq7bSF3h#qfevuN5kcyQ#k?NnO`iHj-p+FDwio^|?TVURI-> zwF~WzSr!X3ncL5!FpP3_z2KX(EH7ngJ;eF3WX=4$8sKc#x=KR~0@72(KT(*ml)KCw zm4GKvY|jQY3tg9AQm)_bw|K>3rz0AUd-Bx^T$OX-&zXmm#M`%qz4lv*nej7r$q|BS zFJv@jz$3)Ah@Kbj-MS0?-b){1;TM8v8_g9c&x{MjN96=oh9;X;toYe79cy`d_)S?m zk!lm~hb+<;wDdrVl?laE;_9yhh_BIuY2>=?!i}dE0wZ-%^lvQ(F$&JWj(yhYzkqiNG1%N;l+C-rXm=_Pjq?$3Z8wEoSKn(=PHd{N_pG+O4;AjMMCn4 z=I7bB7v5XxtypXDH!v6s>N)xE*$MYE49AGKB#xwOf$WR^x@ooh+8X5@-CoSFZ6t$fx+%@pA+WrXwy9k?=T=pePN0={7^OWo(GO3EcHuBxO(=-1#s-@ zivslo-lP?TP_@w<_~m{JU!YtRvx5g8;O36|GM4-><7Q8yj|YS*l|BNAOQqHY@zR3}g_q8&ws;I! zpvGQ$lWRvWwI5R{yX{liwbET)D{%Poo*Y@rs-@o%jF?}yV6}RjuSqOAuyTkSyqfDd z;%>2c<1sStIpMzOF%>VxXmh@?_T85rN(}+<&yTJD2%)32n1YzulH8Y)!nSByfi4+t z{Nf$yiThw*bfL0OC75=3?W8EVV_w{672GVc;Of(4sbn2F;AJx)EZPkEV&7O*gcmtM z>~3-YUSL_a+eIg5>bpTJXVjPY7B>EJh4GH2+hqx>3M#4$t70z(R=o8cQwp%bnnde# z^Eiy{y@X7iXs8~a{hfzcBfN>PU#Io~;+=`CgL0xm*+Y0e+VOcQ<2R7vNowZ8RYmfy zd6?#0#6!}e!IDDro3+uNo#m{4xe(Y**n_5Y6ijqkO)-L*A(j6jGgLvuu1dQ|`kd{=B@||G8F~iqV!zyvOw_?jM=L9t=XmF)FgQ4;UUiwfz zX#O0W(K{i9T9A|Aq_F*1gtQZE01ujvD^Rn&k&lFKW{2_w4O`1O!7;m6f|-!AzHb?)A)8J>Zpq^q-I=S^>p$oO)i7vw!O2Q8*5>*a&=H=KrZTz#I^DQD6Ak!51hbK^BK? zAO}{Hg!|i-C{M}v&R1Q1L0$w+rIr1lC=GYjmR8?g6y@OY%Ebq;kv>+qfBvz1yc{a2 zpK$K-M(?2xE(lB&dvC(7iZmP6DcBC8jEZ`Wb+58~ww9!ed#cKjO|!Mp={l-Q-`abq z9AQio=|mhWWjED&ujn1#Rj?3}Ja*x-@Ao@tIXTdqt+lxkr?wW4#zZswW{I^D`V-&j_cyb2;?<8@3jLs$b5Pd=X+dS%X;^P#47 zEx(ENy2h8yLgR+^u^f1*CD2Hg48`VIR{NUjHoc9(=RZkF!>^{tFg0KmS{?A1mPN7` z39Yd1{AAcnAh!KA!mv>BC={yGgdMuVaL=c7nJ(%+BUi{UZ;mRWaV;{zUr%Lgvo+QZ z7Lzb?bk`TEP+(>MPss6 zrg!zqHxubn-g2kOc;d&fqEwAl%)sHp(%R~V0=fcxM0%`vyvq1`uFe>>Tb&zqT2Geu zy1~06>fiq+YrWX|MnXP>A8+9G77aZSi~dw2dE&L<%a%T8t&t`jehVHEOi$BcYk@yie#?Oeg;k)Gd^3)X%czCh{<+d~4eaIoZF2 zG_6&o;ZzXPFoOBws z)PpyymXL9CQ>k|u#nZtZXr_HoYIOB@`GjI4<7mG+6TS9Ci&TzLVt%s8NBfu5kT6Z1 zRm#M;i#3@yn5h)yy?6NJ(?W%Yk&c$sfkH?2mtZ2)NC{S@6$QWTg?w^jRij>f1$aJk zZum$7bS-WG(?bKsXXCY7d&ZX@bl-U50P*6Hy7y4kvg)(oV`y9O@rSST z^`o(>c`Cua-?qw716guk?xw&y4v%WRRMhb*-**=m;Nl>A%v=+n>i3;AxL8u!d5bS=sp%FxL|uk^URm7<;I-Yup?l-=RMOEb(DO z-m#<;R%aJzs%9ag`7V8?XWC zt6!FQjxaJy_pzEa2{Z(-@5qS@PM+&SL;YzSOLWfG7Y0$hg3=Gxyf`PW5l{!#p;OML zeFc7YJ;^r@kwC>F;7~ElThR8`9Zwr)%p&WfzNG>>)_B+hjR54b<_f*)Dz)6b!HrUk zAqdZ(h|jl0l9wx|={+|&m1Cpl$`!T)L@`d&>wFkh5jfj-dm%Q~UFY z-9;HEd(+Hu$@x$eXLn%+N5Q%wA2s6UmYEvX8ZV_4S(R7;rl;VcNOTjyWvuQB#DCF0Kni%rdZQ7dsB<&`d8tFZ@4T{z@mjP z-c+;Ogw^IyDa9Cj)x^Uu;BkL$0Slsf##yny=k`QKcNcAp4Fp^gcGqsHhnG-hy9Wp{umiM+){h?YbAF(!UBs9{DXRhJ$ z$BoQ`^f{88RQC{gcTDUaUKg9WymHr=bRvuOJ?L({=wo|79yjQElLnhk-mVNmKf z++aBj2MPgs=sAxZMugs}xi8pvhm9zr&6UenPO_0&+|K_O8P30REP7a7nUNCtiM$hh~y z+OIWz*u`>l@7@Dp0pYN`zEKVH-tD3{M!mCY`@2jAmrXirg2m!w^@y_7D)N#lK|}6~ zvz9me@qO3P{%F7 zkCJn=L7`-&kutVuX@mn(4lRp7qaEyRWY7p3dpp_sNoE}&hqNRTDTzc~N60D2pcD{N z7vzvADR~(bK>@1qzc|q-LMl{(_EZ%8kVMYRCV=`uC^wKrTHaPpMpjPF7Jd3a6v|P6 zA5O4hH6s|YkyZY$m$`7u$HU(4mH@xDy|RFjjEuYt(oV+F1}$qRZR?08xUzHqlwI}r z*rESwu=+9%=YKZ@HZJr}6yX||EaN{y?U&HVEWwMLPvF$_BUisy>3`xp z2#>fWjsBlmGSmg0fdYQ0(qARWJ_7*!m_N$$Ydj&qdD#EW$yFY%Ga>AROm-geUljip dw&sdPYD%Zyj_hfyzXw1hJmL|eqTu>L`X4A#pW6Tc delta 3901 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 F_#a1u(2)QD diff --git a/ClosedXML.Tests/Resource/Examples/Ranges/Sorting.xlsx b/ClosedXML.Tests/Resource/Examples/Ranges/Sorting.xlsx index 8c29618e6fcfcdda54ab7ede001ab995c0f8d044..093f9b9b3c778fe39f51c566682d603ece58c910 100644 GIT binary patch literal 20348 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 literal 24241 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 filePartName, bool evaluateFormula = false, string expectedDiff = null, bool ignoreColumnFormats = false) where T : IXLExample, new() { - // Make sure tests run on a deterministic culture - Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); + // Make sure tests run on a deterministic culture, details: https://github.com/dotnet/runtime/issues/108742 + Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; var example = new T(); - var pathParts = filePartName.Split(new[] { '\\' }); + var pathParts = filePartName.Split(['\\']); var filePath1 = Path.Combine(new List { ExampleTestsOutputDirectory }.Concat(pathParts).ToArray()); var extension = Path.GetExtension(filePath1); @@ -65,7 +65,7 @@ public static void RunTestExample(string filePartName, bool evaluateFormula = wb.SaveAs(ms, validate: true, evaluateFormula); } - // Uncomment to replace expectation running .net6.0, + // Uncomment to replace expectation running .net, //var expectedFileInVsSolution = Path.GetFullPath(Path.Combine("../../../", "resource", "examples", filePartName.Replace("\\", "/"))); //File.Copy(filePath2, expectedFileInVsSolution, true); // Uncomment to replace expectation running .net4.8, @@ -120,7 +120,7 @@ public static void CreateAndCompare(Func workbookGenerator, string { Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); - var pathParts = referenceResource.Split(new[] { '\\' }); + var pathParts = referenceResource.Split(['\\']); var filePath1 = Path.Combine(new List { TestsOutputDirectory }.Concat(pathParts).ToArray()); var extension = Path.GetExtension(filePath1);