Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ public override ExcelAddress Address

internal override bool ShouldApplyToCell(ExcelAddress address)
{
if (Address.Collide(address) != ExcelAddressBase.eAddressCollition.No)
if (Address.Collide(address) != ExcelAddressBase.eAddressCollision.No)
{
if (_ws.Cells[address.Start.Address].Value != null)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ void UpdateFormula()
}
internal override bool ShouldApplyToCell(ExcelAddress address)
{
if(Address.Collide(address) != ExcelAddressBase.eAddressCollition.No)
if(Address.Collide(address) != ExcelAddressBase.eAddressCollision.No)
{
var val = _ws.Cells[address.Start.Address].Value;
var stringValue = val == null ? "" : val.ToString();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ public Color Color

internal override bool ShouldApplyToCell(ExcelAddress address)
{
if (Address.Collide(address) != ExcelAddressBase.eAddressCollition.No)
if (Address.Collide(address) != ExcelAddressBase.eAddressCollision.No)
{
var cellValue = _ws.Cells[address.Address].Value;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ void UpdateFormula()

internal override bool ShouldApplyToCell(ExcelAddress address)
{
if (Address.Collide(address) != ExcelAddressBase.eAddressCollition.No)
if (Address.Collide(address) != ExcelAddressBase.eAddressCollision.No)
{
if(_ws.Cells[address.Start.Address].Value != null)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ internal ExcelConditionalFormattingEqual(ExcelConditionalFormattingEqual copy, E

internal override bool ShouldApplyToCell(ExcelAddress address)
{
if (Address.Collide(address) != ExcelAddressBase.eAddressCollition.No)
if (Address.Collide(address) != ExcelAddressBase.eAddressCollision.No)
{
if (_ws.Cells[address.Start.Address].Value != null && string.IsNullOrEmpty(Formula) == false)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ void UpdateFormula()

internal override bool ShouldApplyToCell(ExcelAddress address)
{
if (Address.Collide(address) != ExcelAddressBase.eAddressCollition.No)
if (Address.Collide(address) != ExcelAddressBase.eAddressCollision.No)
{
//Formula2 only filled if there's a cell or formula to cond
if (_ws.Cells[address.Start.Address].Value != null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ internal override ExcelConditionalFormattingRule Clone(ExcelWorksheet newWs = nu

internal override bool ShouldApplyToCell(ExcelAddress address)
{
if (Address.Collide(address) != ExcelAddressBase.eAddressCollition.No)
if (Address.Collide(address) != ExcelAddressBase.eAddressCollision.No)
{
if (_ws.Cells[address.Start.Address].Value != null && string.IsNullOrEmpty(Formula) == false)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ internal override ExcelConditionalFormattingRule Clone(ExcelWorksheet newWs = nu

internal override bool ShouldApplyToCell(ExcelAddress address)
{
if (Address.Collide(address) != ExcelAddressBase.eAddressCollition.No)
if (Address.Collide(address) != ExcelAddressBase.eAddressCollision.No)
{
if (_ws.Cells[address.Start.Address].Value != null && ConvertUtil.IsNumericOrDate(_ws.Cells[address.Start.Address].Value))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ internal virtual string ApplyStyleOverride(ExcelAddress address)

internal override bool ShouldApplyToCell(ExcelAddress address)
{
if (Address.Collide(address) != ExcelAddressBase.eAddressCollition.No)
if (Address.Collide(address) != ExcelAddressBase.eAddressCollision.No)
{
var cellValue = _ws.Cells[address.Address].Value;

Expand Down
2 changes: 1 addition & 1 deletion src/EPPlus/Core/AutofitHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ internal void AutofitColumn(double MinimumWidth, double MaximumWidth)
Dictionary<MeasurementFont, int> textLengthCache = new Dictionary<MeasurementFont, int>();
foreach (var af in afAddr)
{
if (af.Collide(fromRow, col, toRow, col) != eAddressCollition.No)
if (af.Collide(fromRow, col, toRow, col) != eAddressCollision.No)
{
var cell = worksheet.Cells[af._fromRow, col];
var cellStyleId = styles.CellXfs[cell.StyleID];
Expand Down
28 changes: 21 additions & 7 deletions src/EPPlus/Core/RangeCopyHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,8 @@ private void CopyPivotTables()
foreach (var table in _sourceRange.Worksheet.PivotTables)
{
var ac = _sourceRange.Collide(table.Address);
if (ac == eAddressCollition.Inside ||
ac == eAddressCollition.Equal)
if (ac == eAddressCollision.Inside ||
ac == eAddressCollision.Equal)
{
tablesToCopy.Add(table);
}
Expand All @@ -210,8 +210,8 @@ private void CopyTables()
foreach(var table in _sourceRange.Worksheet.Tables)
{
var ac = _sourceRange.Collide(table.Range);
if (ac == eAddressCollition.Inside ||
ac == eAddressCollition.Equal)
if (ac == eAddressCollision.Inside ||
ac == eAddressCollision.Equal)
{
tablesToCopy.Add(table);
}
Expand Down Expand Up @@ -289,6 +289,9 @@ private void CopyDataValidations()
string newAddress = "";
if (dv.Address.Addresses == null)
{
//Get the range of actual validations within the source range
//As the source range can include empty data etc.
//Then move that range to top left of destination
newAddress = HandleAddress(dv.Address);
}
else
Expand Down Expand Up @@ -316,6 +319,15 @@ private void CopyDataValidations()
{
if (_sourceRange._worksheet == _destinationRange._worksheet)
{
var unifiedAddress = dv.Address.UnifyAddressesIfPossible(dv.Address, new ExcelAddressBase(newAddress));
//if (unifiedAddress != null)
//{
// dv.SetAddress(unifiedAddress.Address);
//}
//else
//{
// dv.SetAddress(dv.Address + "," + newAddress);
//}
dv.SetAddress(dv.Address + "," + newAddress);
dv._ws.DataValidations.UpdateRangeDictionary(dv);
}
Expand Down Expand Up @@ -397,7 +409,9 @@ private string HandleAddress(ExcelAddressBase inAddress)
if (inAddress == null) return "";
}
}
if (inAddress.Collide(_sourceRange) != eAddressCollition.No)

var collision = inAddress.Collide(_sourceRange);
if (collision != eAddressCollision.No)
{
var address = _sourceRange.Intersect(inAddress);
var rowOffset = address._fromRow - _sourceRange._fromRow;
Expand Down Expand Up @@ -872,9 +886,9 @@ private Dictionary<int, ExcelAddress> GetCopiedMergedCells()
{
var adr = new ExcelAddress(worksheet.Name, worksheet.MergedCells._list[csem.Value]);
var collideResult = _sourceRange.Collide(adr);
if (collideResult != eAddressCollition.No)
if (collideResult != eAddressCollision.No)
{
if(collideResult == eAddressCollition.Partly)
if(collideResult == eAddressCollision.Partly)
{
//Partial merge of the address take only if more than one cell intersects.
var intersectingCells = _sourceRange.Intersect(adr);
Expand Down
2 changes: 1 addition & 1 deletion src/EPPlus/Core/Worksheet/FormulaDataTableValidation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ internal static void HasPartlyFormulaDataTable(ExcelWorksheet ws, ExcelAddressBa
fa._fromCol--;
}

if (deleteRange.Collide(fa)==ExcelAddressBase.eAddressCollition.Partly)
if (deleteRange.Collide(fa)==ExcelAddressBase.eAddressCollision.Partly)
{
throw new InvalidOperationException(errorMsg);
}
Expand Down
18 changes: 9 additions & 9 deletions src/EPPlus/Core/Worksheet/WorksheetRangeDeleteHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ private static void DeleteSparkLinesAddress(ExcelRangeBase range, eShiftTypeDele
var delSparklineGroups = new List<ExcelSparklineGroup>();
foreach (var slg in range.Worksheet.SparklineGroups)
{
if (slg.DateAxisRange != null && effectedAddress.Collide(slg.DateAxisRange) >= ExcelAddressBase.eAddressCollition.Inside)
if (slg.DateAxisRange != null && effectedAddress.Collide(slg.DateAxisRange) >= ExcelAddressBase.eAddressCollision.Inside)
{
string address;
if (shift == eShiftTypeDelete.Up)
Expand All @@ -468,13 +468,13 @@ private static void DeleteSparkLinesAddress(ExcelRangeBase range, eShiftTypeDele
var delSparklines = new List<ExcelSparkline>();
foreach (var sl in slg.Sparklines)
{
if (range.Collide(sl.Cell.Row, sl.Cell.Column) >= ExcelAddressBase.eAddressCollition.Inside)
if (range.Collide(sl.Cell.Row, sl.Cell.Column) >= ExcelAddressBase.eAddressCollision.Inside)
{
delSparklines.Add(sl);
}
else if (shift == eShiftTypeDelete.Up)
{
if (effectedAddress.Collide(sl.RangeAddress) >= ExcelAddressBase.eAddressCollition.Inside ||
if (effectedAddress.Collide(sl.RangeAddress) >= ExcelAddressBase.eAddressCollision.Inside ||
range.CollideFullRow(sl.RangeAddress._fromRow, sl.RangeAddress._toRow))
{
sl.RangeAddress = sl.RangeAddress.DeleteRow(range._fromRow, range.Rows);
Expand All @@ -487,7 +487,7 @@ private static void DeleteSparkLinesAddress(ExcelRangeBase range, eShiftTypeDele
}
else
{
if (effectedAddress.Collide(sl.RangeAddress) >= ExcelAddressBase.eAddressCollition.Inside
if (effectedAddress.Collide(sl.RangeAddress) >= ExcelAddressBase.eAddressCollision.Inside
||
range.CollideFullColumn(sl.RangeAddress._fromCol, sl.RangeAddress._toCol))
{
Expand All @@ -512,10 +512,10 @@ private static void DeleteSparkLinesAddress(ExcelRangeBase range, eShiftTypeDele
private static void DeleteFilterAddress(ExcelRangeBase range, ExcelAddressBase effectedAddress, eShiftTypeDelete shift)
{
var ws = range.Worksheet;
if (ws.AutoFilter.Address != null && effectedAddress.Collide(ws.AutoFilter.Address) != ExcelAddressBase.eAddressCollition.No)
if (ws.AutoFilter.Address != null && effectedAddress.Collide(ws.AutoFilter.Address) != ExcelAddressBase.eAddressCollision.No)
{
var firstRow = new ExcelAddress(ws.AutoFilter.Address._fromRow, ws.AutoFilter.Address._fromCol, ws.AutoFilter.Address._fromRow, ws.AutoFilter.Address._toCol);
if (range.Collide(firstRow, true) >= ExcelAddressBase.eAddressCollition.Inside)
if (range.Collide(firstRow, true) >= ExcelAddressBase.eAddressCollision.Inside)
{
ws.AutoFilter.Address = null;
}
Expand Down Expand Up @@ -671,7 +671,7 @@ private static ExcelAddressBase DeleteSplitIndividualAddress(ExcelAddressBase ad
else
{
var collide = affectedAddress.Collide(address);
if (collide == ExcelAddressBase.eAddressCollition.Partly)
if (collide == ExcelAddressBase.eAddressCollision.Partly)
{
var addressToShift = ShiftAddress(address, affectedAddress, deleteRange, shift);

Expand Down Expand Up @@ -701,7 +701,7 @@ private static ExcelAddressBase DeleteSplitIndividualAddress(ExcelAddressBase ad
}
return new ExcelAddressBase(newAddress.Substring(0, newAddress.Length - 1));
}
else if (collide != ExcelAddressBase.eAddressCollition.No)
else if (collide != ExcelAddressBase.eAddressCollision.No)
{
return ShiftAddress(address, affectedAddress, deleteRange, shift);
}
Expand Down Expand Up @@ -833,7 +833,7 @@ private static void FixFormulasDelete(ExcelRangeBase range, ExcelAddressBase eff
{
if (workSheetName == ws.Name)
{
if (effectedRange.Collide(new ExcelAddressBase(sf.Address)) != ExcelAddressBase.eAddressCollition.No)
if (effectedRange.Collide(new ExcelAddressBase(sf.Address)) != ExcelAddressBase.eAddressCollision.No)
{
ExcelAddressBase a;
if (shift == eShiftTypeDelete.Up)
Expand Down
12 changes: 6 additions & 6 deletions src/EPPlus/Core/Worksheet/WorksheetRangeHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ private static bool ConvertEffectedSharedFormulaIfReferenceWithinRange(ExcelWork
if (tokenAddress._toRowFixed == false) tokenAddress._toRow += (sfAddress.Rows - 1); //Extend the token address for all rows in the formula and check for collitions with the deleted range.
if (tokenAddress._toColFixed == false) tokenAddress._toCol += (sfAddress.Columns - 1); //Extend the token address for all columns in the formula and check for collition with the deleted range.

if (tokenAddress.Collide(range, true) != ExcelAddressBase.eAddressCollition.No) //Shared Formula address is effected.
if (tokenAddress.Collide(range, true) != ExcelAddressBase.eAddressCollision.No) //Shared Formula address is effected.
{
doConvertSF = true;
break;
Expand Down Expand Up @@ -337,7 +337,7 @@ internal static void ValidateIfInsertDeleteIsPossible(ExcelRangeBase range, Exce
{
//Validate autofilter
if (range.Worksheet.AutoFilter.Address!=null &&
effectedAddress.Collide(range.Worksheet.AutoFilter.Address) == ExcelAddressBase.eAddressCollition.Partly
effectedAddress.Collide(range.Worksheet.AutoFilter.Address) == ExcelAddressBase.eAddressCollision.Partly
&&
range.Worksheet.AutoFilter.Address.CollideFullRowOrColumn(range) == false)
{
Expand All @@ -350,7 +350,7 @@ internal static void ValidateIfInsertDeleteIsPossible(ExcelRangeBase range, Exce
if (!string.IsNullOrEmpty(a))
{
var mc = new ExcelAddressBase(a);
if (effectedAddress.Collide(mc) == ExcelAddressBase.eAddressCollition.Partly)
if (effectedAddress.Collide(mc) == ExcelAddressBase.eAddressCollision.Partly)
{
throw new InvalidOperationException($"Can't {(insert ? "insert into" : "delete from")} the range. Cells collide with merged range {a}");
}
Expand All @@ -360,7 +360,7 @@ internal static void ValidateIfInsertDeleteIsPossible(ExcelRangeBase range, Exce
//Validate pivot tables Cells
foreach (var pt in range.Worksheet.PivotTables)
{
if (effectedAddress.Collide(pt.Address) == ExcelAddressBase.eAddressCollition.Partly)
if (effectedAddress.Collide(pt.Address) == ExcelAddressBase.eAddressCollision.Partly)
{
throw new InvalidOperationException($"Can't {(insert ? "insert into" : "delete from")} the range. Cells collide with pivot table {pt.Name}");
}
Expand All @@ -369,8 +369,8 @@ internal static void ValidateIfInsertDeleteIsPossible(ExcelRangeBase range, Exce
//Validate tables Cells
foreach (var t in range.Worksheet.Tables)
{
if (effectedAddressTable.Collide(t.Address) == ExcelAddressBase.eAddressCollition.Partly &&
effectedAddress.Collide(t.Address) != ExcelAddressBase.eAddressCollition.No)
if (effectedAddressTable.Collide(t.Address) == ExcelAddressBase.eAddressCollision.Partly &&
effectedAddress.Collide(t.Address) != ExcelAddressBase.eAddressCollision.No)
{
throw new InvalidOperationException($"Can't {(insert ? "insert into" : "delete from")} the range. Cells collide with table {t.Name}");
}
Expand Down
Loading
Loading