diff --git a/ClosedXML/Excel/Cells/XLCell.cs b/ClosedXML/Excel/Cells/XLCell.cs index 394fa9d..09e018b 100644 --- a/ClosedXML/Excel/Cells/XLCell.cs +++ b/ClosedXML/Excel/Cells/XLCell.cs @@ -82,16 +82,22 @@ #endregion Fields #region Constructor - public XLCell(XLWorksheet worksheet, XLAddress address, IXLStyle style) - : base(style.Value) + + internal XLCell(XLWorksheet worksheet, XLAddress address, XLStyleValue styleValue) + : base(styleValue) { Address = address; ShareString = true; _worksheet = worksheet; } + public XLCell(XLWorksheet worksheet, XLAddress address, IXLStyle style) + : this(worksheet, address, style.Value) + { + } + public XLCell(XLWorksheet worksheet, XLAddress address) - : this(worksheet, address, XLStyle.Default) + : this(worksheet, address, XLStyle.Default.Value) { } diff --git a/ClosedXML/Excel/Ranges/XLRange.cs b/ClosedXML/Excel/Ranges/XLRange.cs index 1c78f4f..bdb8247 100644 --- a/ClosedXML/Excel/Ranges/XLRange.cs +++ b/ClosedXML/Excel/Ranges/XLRange.cs @@ -742,7 +742,7 @@ var oldCell = rngToTranspose.Cell(ro, co); var newKey = rngToTranspose.Cell(co, ro).Address; // new XLAddress(Worksheet, c.Address.ColumnNumber, c.Address.RowNumber); - var newCell = new XLCell(Worksheet, newKey, oldCell.Style); + var newCell = new XLCell(Worksheet, newKey, oldCell.StyleValue); newCell.CopyFrom(oldCell, true); cellsToInsert.Add(new XLSheetPoint(newKey.RowNumber, newKey.ColumnNumber), newCell); cellsToDelete.Add(new XLSheetPoint(oldCell.Address.RowNumber, oldCell.Address.ColumnNumber)); diff --git a/ClosedXML/Excel/Ranges/XLRangeBase.cs b/ClosedXML/Excel/Ranges/XLRangeBase.cs index 11e4554..0e67a68 100644 --- a/ClosedXML/Excel/Ranges/XLRangeBase.cs +++ b/ClosedXML/Excel/Ranges/XLRangeBase.cs @@ -752,11 +752,9 @@ cellAddressInRange.FixedRow, cellAddressInRange.FixedColumn); - XLCell newCell; - // If the default style for this range base is empty, but the worksheet // has a default style, use the worksheet's default style - newCell = new XLCell(Worksheet, absoluteAddress, new XLStyle(this, styleValue.Key)); + XLCell newCell = new XLCell(Worksheet, absoluteAddress, styleValue); Worksheet.Internals.CellsCollection.Add(absRow, absColumn, newCell); return newCell; @@ -1039,7 +1037,7 @@ var oldCell = Worksheet.Internals.CellsCollection.GetCell(ro, co) ?? Worksheet.Cell(oldKey); - var newCell = new XLCell(Worksheet, newKey, oldCell.Style); + var newCell = new XLCell(Worksheet, newKey, oldCell.StyleValue); newCell.CopyValuesFrom(oldCell); newCell.FormulaA1 = oldCell.FormulaA1; cellsToInsert.Add(newKey, newCell); @@ -1062,7 +1060,7 @@ { int newColumn = c.Address.ColumnNumber + numberOfColumns; var newKey = new XLAddress(Worksheet, c.Address.RowNumber, newColumn, false, false); - var newCell = new XLCell(Worksheet, newKey, c.Style); + var newCell = new XLCell(Worksheet, newKey, c.StyleValue); newCell.CopyValuesFrom(c); newCell.FormulaA1 = c.FormulaA1; cellsToInsert.Add(newKey, newCell); @@ -1263,7 +1261,7 @@ var oldCell = Worksheet.Internals.CellsCollection.GetCell(ro, co); if (oldCell != null) { - var newCell = new XLCell(Worksheet, newKey, oldCell.Style); + var newCell = new XLCell(Worksheet, newKey, oldCell.StyleValue); newCell.CopyValuesFrom(oldCell); newCell.FormulaA1 = oldCell.FormulaA1; cellsToInsert.Add(newKey, newCell); @@ -1287,7 +1285,7 @@ { int newRow = c.Address.RowNumber + numberOfRows; var newKey = new XLAddress(Worksheet, newRow, c.Address.ColumnNumber, false, false); - var newCell = new XLCell(Worksheet, newKey, c.Style); + var newCell = new XLCell(Worksheet, newKey, c.StyleValue); newCell.CopyValuesFrom(c); newCell.FormulaA1 = c.FormulaA1; cellsToInsert.Add(newKey, newCell); @@ -1428,7 +1426,7 @@ var newKey = new XLAddress(Worksheet, c.Address.RowNumber - rowModifier, c.Address.ColumnNumber - columnModifier, false, false); - var newCell = new XLCell(Worksheet, newKey, c.Style); + var newCell = new XLCell(Worksheet, newKey, c.StyleValue); newCell.CopyValuesFrom(c); newCell.FormulaA1 = c.FormulaA1; cellsToDelete.Add(c.Address);