private static Border GetNewBorder(BorderInfo borderInfo, Boolean ignoreMod = true) { var border = new Border(); if (borderInfo.Border.DiagonalUpModified || ignoreMod) border.DiagonalUp = borderInfo.Border.DiagonalUp; if (borderInfo.Border.DiagonalDownModified || ignoreMod) border.DiagonalDown = borderInfo.Border.DiagonalDown; if (borderInfo.Border.LeftBorderModified || borderInfo.Border.LeftBorderColorModified || ignoreMod) { var leftBorder = new LeftBorder {Style = borderInfo.Border.LeftBorder.ToOpenXml()}; if (borderInfo.Border.LeftBorderColorModified || ignoreMod) { var leftBorderColor = GetNewColor(borderInfo.Border.LeftBorderColor); leftBorder.AppendChild(leftBorderColor); } border.AppendChild(leftBorder); } if (borderInfo.Border.RightBorderModified || borderInfo.Border.RightBorderColorModified || ignoreMod) { var rightBorder = new RightBorder {Style = borderInfo.Border.RightBorder.ToOpenXml()}; if (borderInfo.Border.RightBorderColorModified || ignoreMod) { var rightBorderColor = GetNewColor(borderInfo.Border.RightBorderColor); rightBorder.AppendChild(rightBorderColor); } border.AppendChild(rightBorder); } if (borderInfo.Border.TopBorderModified || borderInfo.Border.TopBorderColorModified || ignoreMod) { var topBorder = new TopBorder {Style = borderInfo.Border.TopBorder.ToOpenXml()}; if (borderInfo.Border.TopBorderColorModified || ignoreMod) { var topBorderColor = GetNewColor(borderInfo.Border.TopBorderColor); topBorder.AppendChild(topBorderColor); } border.AppendChild(topBorder); } if (borderInfo.Border.BottomBorderModified || borderInfo.Border.BottomBorderColorModified || ignoreMod) { var bottomBorder = new BottomBorder {Style = borderInfo.Border.BottomBorder.ToOpenXml()}; if (borderInfo.Border.BottomBorderColorModified || ignoreMod) { var bottomBorderColor = GetNewColor(borderInfo.Border.BottomBorderColor); bottomBorder.AppendChild(bottomBorderColor); } border.AppendChild(bottomBorder); } if (borderInfo.Border.DiagonalBorderModified || borderInfo.Border.DiagonalBorderColorModified || ignoreMod) { var DiagonalBorder = new DiagonalBorder {Style = borderInfo.Border.DiagonalBorder.ToOpenXml()}; if (borderInfo.Border.DiagonalBorderColorModified || ignoreMod) { var DiagonalBorderColor = GetNewColor(borderInfo.Border.DiagonalBorderColor); DiagonalBorder.AppendChild(DiagonalBorderColor); } border.AppendChild(DiagonalBorder); } return border; }