From 75c5fa3a4b968a475dc353ba03ce1ded3553b5b9 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Mon, 6 Oct 2025 19:08:08 +1100 Subject: [PATCH 1/8] . --- src/Directory.Packages.props | 22 ++--- src/Tests/sample.xlsx | Bin 14805 -> 11616 bytes .../VerifySyncfusion_Excel.cs | 82 +----------------- 3 files changed, 12 insertions(+), 92 deletions(-) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 6d5f8efd..9d592070 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -4,23 +4,23 @@ true - + - + - - + + - - - - - - + + + + + + - + diff --git a/src/Tests/sample.xlsx b/src/Tests/sample.xlsx index 30c6d5d102ba6c255a298ed7e2398bb801d54ddc..a4929fdcc7174e6522cac775f1035fee23e160c2 100644 GIT binary patch literal 11616 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 diff --git a/src/Verify.Syncfusion/VerifySyncfusion_Excel.cs b/src/Verify.Syncfusion/VerifySyncfusion_Excel.cs index 2823a973..260657a6 100644 --- a/src/Verify.Syncfusion/VerifySyncfusion_Excel.cs +++ b/src/Verify.Syncfusion/VerifySyncfusion_Excel.cs @@ -1,5 +1,4 @@ -using System.Globalization; -using DeterministicIoPackaging; +using DeterministicIoPackaging; using Syncfusion.XlsIO; using Syncfusion.XlsIORenderer; @@ -48,59 +47,8 @@ static object GetInfo(IWorkbook book) => book.StandardFontSize, }; - static (string value, bool replaceCellValue) GetCellValue(IRange cell, Counter counter) - { - if (!cell.HasValue()) - { - return (string.Empty, false); - } - - switch (cell.Type) - { - case CellValueType.IsNumeric: - var value = cell.DoubleValue; - if (cell.GetStyle().Custom.Contains('%')) - { - // Percentage - return (value.ToString("P", CultureInfo.InvariantCulture), false); - } - - return (value.ToString(CultureInfo.InvariantCulture), false); - - case CellValueType.IsBool: - return (cell.BoolValue.ToString(), false); - - case CellValueType.IsDateTime: - var date = cell.DateTimeValue; - if (counter.TryConvert(date, out var dateResult)) - { - return (dateResult, true); - } - - return (DateFormatter.Convert(date), false); - - case CellValueType.IsError: - return (cell.Value.ToString()!, false); - - case CellValueType.IsNull: - return ("", false); - - default: - var text = cell.StringValue; - if (counter.TryConvert(text, out var result)) - { - return (result, true); - } - - return (text, false); - } - } static List GetExcelStreams(string? targetName, IWorkbook book) { - foreach (var sheet in book.Worksheets) - { - ScrubCells(sheet); - } using var sourceStream = new MemoryStream(); book.SaveAs(sourceStream, ExcelSaveType.SaveAsXLS); var resultStream = DeterministicPackage.Convert(sourceStream); @@ -114,34 +62,6 @@ static List GetExcelStreams(string? targetName, IWorkbook book) return targets; } - private static void ScrubCells(IWorksheet sheet) - { - var counter = Counter.Current; - IRange usedRange = sheet.UsedRange; - - for (int row = 1; row <= usedRange.LastRow; row++) - { - for (int col = 1; col <= usedRange.LastColumn; col++) - { - IRange cell = sheet[row, col]; - - var (value, replaceCellValue) = GetCellValue(cell, counter); - if (replaceCellValue) - { - cell.Value = value; - } - } - } - - foreach (var range in sheet.Cells) - { - foreach (var cell in range.Cells) - { - - } - } - } - static Target GetSheetStreams(string? targetName, IWorksheet sheet) { string targetAndSheet; From cb26fc0ea0751cbca55376ba48cc188493ece9a8 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Mon, 6 Oct 2025 19:21:57 +1100 Subject: [PATCH 2/8] Update Directory.Packages.props --- src/Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 9d592070..3783397a 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -6,7 +6,7 @@ - + From 0747639f2948dc6d5c96d35209342cb28e4ced1c Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Mon, 6 Oct 2025 19:25:17 +1100 Subject: [PATCH 3/8] Update Directory.Packages.props --- src/Directory.Packages.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 3783397a..aeb17206 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -18,9 +18,9 @@ - + - + From e8b6dfff540621d31c774cd9f8328af28e523406 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Mon, 6 Oct 2025 19:26:27 +1100 Subject: [PATCH 4/8] . --- src/Directory.Packages.props | 1 - src/Tests/Tests.csproj | 1 - src/Verify.Syncfusion/Verify.Syncfusion.csproj | 1 - 3 files changed, 3 deletions(-) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index aeb17206..a05252c0 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -12,7 +12,6 @@ - diff --git a/src/Tests/Tests.csproj b/src/Tests/Tests.csproj index 032aad06..7e89485f 100644 --- a/src/Tests/Tests.csproj +++ b/src/Tests/Tests.csproj @@ -9,7 +9,6 @@ - diff --git a/src/Verify.Syncfusion/Verify.Syncfusion.csproj b/src/Verify.Syncfusion/Verify.Syncfusion.csproj index 326d393f..b7c30482 100644 --- a/src/Verify.Syncfusion/Verify.Syncfusion.csproj +++ b/src/Verify.Syncfusion/Verify.Syncfusion.csproj @@ -7,7 +7,6 @@ - From c124c5b2baf5f81a91f396f1f7bf7fa9e5349225 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Mon, 6 Oct 2025 19:28:25 +1100 Subject: [PATCH 5/8] Revert "." This reverts commit e8b6dfff540621d31c774cd9f8328af28e523406. --- src/Directory.Packages.props | 1 + src/Tests/Tests.csproj | 1 + src/Verify.Syncfusion/Verify.Syncfusion.csproj | 1 + 3 files changed, 3 insertions(+) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index a05252c0..aeb17206 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -12,6 +12,7 @@ + diff --git a/src/Tests/Tests.csproj b/src/Tests/Tests.csproj index 7e89485f..032aad06 100644 --- a/src/Tests/Tests.csproj +++ b/src/Tests/Tests.csproj @@ -9,6 +9,7 @@ + diff --git a/src/Verify.Syncfusion/Verify.Syncfusion.csproj b/src/Verify.Syncfusion/Verify.Syncfusion.csproj index b7c30482..326d393f 100644 --- a/src/Verify.Syncfusion/Verify.Syncfusion.csproj +++ b/src/Verify.Syncfusion/Verify.Syncfusion.csproj @@ -7,6 +7,7 @@ + From 85d233f69531a81de1180b30cc9a93cc31136c98 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Mon, 6 Oct 2025 19:36:06 +1100 Subject: [PATCH 6/8] Update Directory.Packages.props --- src/Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index aeb17206..f4d72d45 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -4,7 +4,7 @@ true - + From 47997e50cc211d2c1d9c618bf5294a077b9ee522 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Mon, 6 Oct 2025 19:37:56 +1100 Subject: [PATCH 7/8] Update Directory.Build.props --- src/Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Directory.Build.props b/src/Directory.Build.props index ce15bbeb..1ac69b3a 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -2,7 +2,7 @@ CS1591;CS0649;NU1608;NU1109 - 2.4.0 + 2.4.1 1.0.0 preview Syncfusion, Verify From 17e4212c470cd75865c339423e2c4c8422c30723 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Mon, 6 Oct 2025 19:59:24 +1100 Subject: [PATCH 8/8] Update Directory.Packages.props --- src/Directory.Packages.props | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index f4d72d45..6d5f8efd 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -10,14 +10,14 @@ - - + + - - - - - + + + + +