private void ShowCoeffs(EnergyMeter selectedMeter) { for (int i = 1; i <= 12; i++) { if (selectedMeter.Number == null) { Controls.Find("monthLimit" + i, true).First().Text = EnergyMeter.DEFAULT_COEFFICIENTS[i - 1].ToString("F3"); } else { Controls.Find("monthLimit" + i, true).First().Text = selectedMeter.MonthsCoefficients[i - 1].ToString("F3"); } } }
private MetersList GetDataFromExelFile(string fileName, bool appStart) { MetersList mList = new MetersList(); // запуск процесса Excel Excel.Application xlApp = new Excel.Application(); if (xlApp == null) { NotificationHelper.ShowError("Помилка при завантаженні екземпляру Microsoft Excel!"); Environment.Exit(0); } // Загрузка книги Excel.Workbook wb = xlApp.Workbooks.Open(fileName); if (wb == null) { NotificationHelper.ShowError("Помилка при завантаженні книги Microsoft Excel!"); xlApp.Quit(); xlApp = null; Environment.Exit(0); } // Выбор листа с данными Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1]; if (ws == null) { NotificationHelper.ShowError("Помилка при завантаженні листа із книги Microsoft Excel!"); xlApp.Quit(); xlApp = null; Environment.Exit(0); } // Считывание данных с листа try { for (int i = 0; ; i++) { string name = ws.get_Range(NAME_COLUMN_LETTER + (NAME_COLUMN_INDEX + i)).Value; if (string.IsNullOrWhiteSpace(name)) { break; } if (appStart) { mList.Add( new EnergyMeter { Name = name, IsHeating = (name.EndsWith("(опал.)") || name.EndsWith("(оп.)") || name.EndsWith("(опалення)")), Number = (i + 1), ConnectedPower = ws.get_Range(POWER_COLUMN_LETTER + (NAME_COLUMN_INDEX + i)).Value }); } else { double[] mounthLimits = new double[12]; for (int j = 0; j < MONTHS_LETTERS.Count(); j++) { mounthLimits[j] = ws.get_Range(MONTHS_LETTERS[j] + (NAME_COLUMN_INDEX + i)).Value; } EnergyMeter newMeter = new EnergyMeter(ws.get_Range(YEAR_LETTER + (NAME_COLUMN_INDEX + i)).Value, mounthLimits); newMeter.Name = name; newMeter.Number = (i + 1); newMeter.ConnectedPower = ws.get_Range(POWER_COLUMN_LETTER + (NAME_COLUMN_INDEX + i)).Value; mList.Add(newMeter); } } } catch (Exception ex) { NotificationHelper.ShowError("Помилка при завантаженні данних!"); Environment.Exit(0); } finally { wb.Close(false); xlApp.Quit(); xlApp = null; //System.GC.Collect(); } return(mList); }