diff --git a/ClosedXML/Excel/Cells/IXLCell.cs b/ClosedXML/Excel/Cells/IXLCell.cs index 855eec2..25929d0 100644 --- a/ClosedXML/Excel/Cells/IXLCell.cs +++ b/ClosedXML/Excel/Cells/IXLCell.cs @@ -17,6 +17,7 @@ /// If the object is an IEnumerable, ClosedXML will copy the collection's data into a table starting from this cell. /// If the object is a range, ClosedXML will copy the range starting from this cell. /// Setting the value to an object (not IEnumerable/range) will call the object's ToString() method. + /// If the value starts with a single quote, ClosedXML will assume the value is a text variable and will prefix the value with a single quote in Excel too. /// /// /// The object containing the value(s) to set. diff --git a/ClosedXML/Excel/Cells/XLCell.cs b/ClosedXML/Excel/Cells/XLCell.cs index d3bae01..9e4794c 100644 --- a/ClosedXML/Excel/Cells/XLCell.cs +++ b/ClosedXML/Excel/Cells/XLCell.cs @@ -305,11 +305,17 @@ { if (value[0] == '\'') { + // If a user sets a cell value to a value starting with a single quote + // ensure the data type is text + // and that it will be prefixed with a quote in Excel too + value = value.Substring(1, value.Length - 1); _dataType = XLDataType.Text; if (value.Contains(Environment.NewLine) && !style.Alignment.WrapText) Style.Alignment.WrapText = true; + + this.Style.SetIncludeQuotePrefix(); } else if (value.Trim() != "NaN" && Double.TryParse(value, XLHelper.NumberStyle, XLHelper.ParseCulture, out Double _)) _dataType = XLDataType.Number; diff --git a/ClosedXML_Tests/Resource/Examples/Misc/CellValues.xlsx b/ClosedXML_Tests/Resource/Examples/Misc/CellValues.xlsx index f61af20..e73de6b 100644 --- a/ClosedXML_Tests/Resource/Examples/Misc/CellValues.xlsx +++ b/ClosedXML_Tests/Resource/Examples/Misc/CellValues.xlsx Binary files differ diff --git a/ClosedXML_Tests/Resource/Examples/Misc/DataTypes.xlsx b/ClosedXML_Tests/Resource/Examples/Misc/DataTypes.xlsx index cab157a..ace0780 100644 --- a/ClosedXML_Tests/Resource/Examples/Misc/DataTypes.xlsx +++ b/ClosedXML_Tests/Resource/Examples/Misc/DataTypes.xlsx Binary files differ diff --git a/ClosedXML_Tests/Resource/Examples/Misc/DataTypesUnderDifferentCulture.xlsx b/ClosedXML_Tests/Resource/Examples/Misc/DataTypesUnderDifferentCulture.xlsx index 2b49926..b68d649 100644 --- a/ClosedXML_Tests/Resource/Examples/Misc/DataTypesUnderDifferentCulture.xlsx +++ b/ClosedXML_Tests/Resource/Examples/Misc/DataTypesUnderDifferentCulture.xlsx Binary files differ