Exemple #1
0
        /// <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));
            }
        }
Exemple #2
0
        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));
            }
        }