/// <summary> /// Условное форматирование /// </summary> private void SetConditionFormat12() { int lastCol = SheetUrv12.UsedRange.Column + SheetUrv12.UsedRange.Columns.Count; //int rowBottomTotal = ExcelHelper.FindCell(SheetUrv12, "ОБЩАЯ СУММА РАСХОДОВ (без НДС)").Row; int rowBottomTotal = ExcelHelper.FindCell(SheetUrv12, "НДС, 20%").Row - 1; ConditonsFormatManager formatManager = new ConditonsFormatManager(); /// Удаление правил Excel.Range rng = SheetUrv12.Range[SheetUrv12.Cells[_rowStart, 1], SheetUrv12.Cells[rowBottomTotal, lastCol]]; rng.FormatConditions.Delete(); // Правила для столбца материалы string colDeviationMat = ListAnalysis.ColumnCommentsValues[StaticColumnsComments.DeviationMat]; string colDeviationWorks = ListAnalysis.ColumnCommentsValues[StaticColumnsComments.DeviationWorks]; string colDeviationCost = ListAnalysis.ColumnCommentsValues[StaticColumnsComments.DeviationCost]; List <ConditionFormat> conditionsDeviationMat = formatManager.ListConditionFormats.FindAll(a => a.ColumnName == colDeviationMat); List <ConditionFormat> conditionsDeviationWorks = formatManager.ListConditionFormats.FindAll(a => a.ColumnName == colDeviationWorks); List <ConditionFormat> conditionsDeviationCost = formatManager.ListConditionFormats.FindAll(a => a.ColumnName == colDeviationCost); for (int col = 6; col < lastCol; col += 5) { Excel.Range columnMaterials = SheetUrv12.Range[SheetUrv12.Cells[_rowStart, col + 1], SheetUrv12.Cells[rowBottomTotal - 2, col + 1]]; conditionsDeviationMat.ForEach(x => x.SetCondition(columnMaterials)); Excel.Range columnWorks = SheetUrv12.Range[SheetUrv12.Cells[_rowStart, col + 2], SheetUrv12.Cells[rowBottomTotal - 2, col + 2]]; conditionsDeviationWorks.ForEach(x => x.SetCondition(columnWorks)); Excel.Range columnCost = SheetUrv12.Range[SheetUrv12.Cells[_rowStart, col + 3], SheetUrv12.Cells[rowBottomTotal - 2, col + 3]]; conditionsDeviationCost.ForEach(x => x.SetCondition(columnCost)); } }
private void SetConditionFormat11() { int lastCol = SheetUrv11.UsedRange.Column + SheetUrv11.UsedRange.Columns.Count; int rowBottomTotal = GetLastRowUrv11(); ConditonsFormatManager formatManager = new ConditonsFormatManager(); /// Удаление правил Excel.Range rng = SheetUrv11.Range[SheetUrv11.Cells[_rowStart, 1], SheetUrv11.Cells[rowBottomTotal, lastCol]]; rng.FormatConditions.Delete(); // Правила для столбца материалы string colDeviationCost = ListAnalysis.ColumnCommentsValues[StaticColumnsComments.DeviationCost]; List <ConditionFormat> conditionsDeviationCost = formatManager.ListConditionFormats.FindAll(a => a.ColumnName == colDeviationCost); for (int col = 9; col <= lastCol; col += 3) { Excel.Range columnCost = SheetUrv11.Range[SheetUrv11.Cells[_rowStart, col + 1], SheetUrv11.Cells[rowBottomTotal, col + 1]]; conditionsDeviationCost.ForEach(x => x.SetCondition(columnCost)); } }