Skip to content

Commit 0c1d48e

Browse files
committed
Range.Text returned the wrong value for format #.##0"*";(#.##0)"*" on negative values
1 parent 98b8657 commit 0c1d48e

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/EPPlus/Utils/ValueToTextHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ private static string FormatNumber(double d, string format, CultureInfo cultureI
163163
var s = FormatNumberExcel(d, format, cultureInfo);
164164
if (string.IsNullOrEmpty(s) == false && (
165165
s.StartsWith("--") && format.StartsWith("-") ||
166-
(s.StartsWith("-(", StringComparison.OrdinalIgnoreCase) && format.StartsWith("(", StringComparison.OrdinalIgnoreCase) && format.EndsWith(")", StringComparison.OrdinalIgnoreCase))))
166+
(s.StartsWith("-(", StringComparison.OrdinalIgnoreCase) && format.StartsWith("(", StringComparison.OrdinalIgnoreCase) && format.IndexOf(")", StringComparison.OrdinalIgnoreCase)>0)))
167167
{
168168
return s.Substring(1);
169169
}

src/EPPlusTest/Issues.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2763,6 +2763,22 @@ public void Issue520_2()
27632763
SaveAndCleanup(p);
27642764
}
27652765
}
2766+
[TestMethod]
2767+
public void Issue522()
2768+
{
2769+
using (var package = OpenPackage("I22.xlsx", true))
2770+
{
2771+
2772+
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
2773+
2774+
worksheet.Cells[1, 1].Value = -1234;
2775+
worksheet.Cells[1, 1].Style.Numberformat.Format = "#.##0\"*\";(#.##0)\"*\"";
2776+
var s = worksheet.Cells[1, 1].Text;
2777+
2778+
SaveAndCleanup(package);
2779+
}
2780+
}
2781+
27662782
}
27672783
}
27682784

0 commit comments

Comments
 (0)