コード例 #1
0
        bool FillList() // Создать лист конкретного счетчика
        {
            // Добавляем стандартную информацию
            AddStandartInformation();

            // Парсим файлы и получаем список показаний
            Deserialization Finder = new Deserialization(After, Before, IDCounter.ToString());

            if (Finder.FindIndications())
            {
                AddData(Finder); // Добавляем данные из базы данных
            }
            else
            {
                MessageBox.Show("Данных по заданному периоду для счетчика " + IDCounter + " нет", "Внимание", MessageBoxButtons.OK,
                                MessageBoxIcon.Asterisk);
                return(false);
            }
            // Добавляем графики
            AddChartsWithEPPlus();
            // Косметические настройки
            Counter.Cells.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
            Counter.Cells.Style.VerticalAlignment   = ExcelVerticalAlignment.Center;
            Counter.Cells.AutoFitColumns();
            AddBorders();
            return(true);
        }
コード例 #2
0
 void AddData(Deserialization Finder) // Заполняем выбранные данные
 {
     CountIdnications.Add(Finder.Times.Count);
     for (int i = 0; i < Finder.Times.Count; i++)
     {
         Counter.Cells[32 + i, 1].Value = Finder.Times[i].ToString(); // Добавляем время показания
         for (int j = 0; j < 3; j++)                                  // Добавляем данные по фазам
         {
             if (SelectedData[j])
             {
                 if (j == 1 && (Finder.Indications[i][j, 0] > AccidentHigh || Finder.Indications[i][j, 0] < AccidentLow)) // Проверка на аварии
                 {
                     Counter.Cells[32 + i, 2 + j].Style.Fill.PatternType = ExcelFillStyle.Solid;
                     Counter.Cells[32 + i, 2 + j].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(0xFF7C80));
                 }
                 Counter.Cells[32 + i, 2 + j].Value = Finder.Indications[i][j, 0];
                 if (j == 1 && (Finder.Indications[i][j, 1] > AccidentHigh || Finder.Indications[i][j, 1] < AccidentLow))
                 {
                     Counter.Cells[32 + i, 5 + j].Style.Fill.PatternType = ExcelFillStyle.Solid;
                     Counter.Cells[32 + i, 5 + j].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(0xFF7C80));
                 }
                 Counter.Cells[32 + i, 5 + j].Value = Finder.Indications[i][j, 1];
                 if (j == 1 && (Finder.Indications[i][j, 2] > AccidentHigh || Finder.Indications[i][j, 2] < AccidentLow))
                 {
                     Counter.Cells[32 + i, 8 + j].Style.Fill.PatternType = ExcelFillStyle.Solid;
                     Counter.Cells[32 + i, 8 + j].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(0xFF7C80));
                 }
                 Counter.Cells[32 + i, 8 + j].Value = Finder.Indications[i][j, 2];
             }
         }
         // Добавляем мощность
         if (SelectedData[3])
         {
             Counter.Cells[32 + i, 11].FormulaR1C1 = "=(RC2*RC3*RC4+RC5*RC6*RC7+RC8*RC9*RC10)/1000";
             Counter.Cells[32 + i, 12].FormulaR1C1 = "=(RC2*RC3+RC5*RC6+RC8*RC9)/1000";
         }
     }
 }