private void M_AddStage() { Temp_NameModeActive = GetNameModeActive(); if (string.IsNullOrWhiteSpace(Temp_NameModeActive)) { MessageBox.Show("Невозможно добавить новый этап!\nВыберите режим нагрузки...", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } Temp_NameTypeActive = GetNameTypeActive(); if (string.IsNullOrWhiteSpace(Temp_NameTypeActive)) { MessageBox.Show("Невозможно добавить новый этап!\nВыберите тип нового этапа...", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } Temp_AmperageValue = GetAmperageValue(); if (float.IsNaN(Temp_AmperageValue)) { MessageBox.Show("Невозможно добавить новый этап!\nВведите значение тока импульса на этапе...", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } Temp_TimeValue = GetPulseTimeValue(); if (Temp_TimeValue == 0.0) { MessageBox.Show("Невожможно добавить новый этап!\nВведите значение времени импульса на этапе...", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } // Добавление нового элемента коллекции StageCollection.Add(new ProgramViewModel() { NameMode = Temp_NameModeActive, NameType = Temp_NameTypeActive, AmperageValue = Temp_AmperageValue, TimeValue = Temp_TimeValue }); }
/// <summary> /// Метод, позволяющий загрузить выбранный /// Excel файл в таблицу /// </summary> /// <param name="fileName">Имя файла для загрузки</param> private void ImportFrom(string fileName) { IExcel.Application ExcelExample = null; IExcel.Workbook objWorkbook = null; IExcel.Worksheet objWorksheet = null; IExcel.Range range = null; int RowCount, ColumnCount; string _mode, _type, _amperage, _time; try { ExcelExample = new IExcel.Application { Visible = false, UserControl = false }; objWorkbook = ExcelExample.Workbooks.Open(fileName); objWorksheet = objWorkbook.Sheets[1]; range = objWorksheet.UsedRange; if (objWorksheet != null) { RowCount = range.Rows.Count; ColumnCount = range.Columns.Count; for (int i = 1; i <= RowCount; i++) { _mode = range.Cells[i, 1].Value2.ToString(); _type = range.Cells[i, 2].Value2.ToString(); _amperage = range.Cells[i, 3].Value2.ToString(); _time = range.Cells[i, 4].Value2.ToString(); StageCollection.Add(new ProgramViewModel() { NameMode = _mode, NameType = _type, AmperageValue = float.Parse(_amperage), TimeValue = double.Parse(_time) }); } } } catch (Exception exc) { MessageBox.Show(exc.Message, "Import file fatal error", MessageBoxButton.OK, MessageBoxImage.Error); return; } finally { objWorkbook.Close(); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(objWorkbook); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(objWorksheet); ExcelExample.Quit(); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(ExcelExample); //TODO: Доработать полное закрытие после импорта excel файла } }