public void Parcer(OptionsParcerDataTable options) { timeSeries_.ClearTimeSeries(); Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook ObjWorkbook = ObjExcel.Workbooks.Open(FileName, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);; Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet; ObjWorkSheet = ObjWorkbook.Sheets[options.Get_number_list()]; for (int i = options.number_line_start_information; i <= options.number_line_end_information; i++) { Microsoft.Office.Interop.Excel.Range range_time = ObjWorkSheet.get_Range(options.Get_name_column_time() + i.ToString(), options.Get_name_column_time() + i.ToString()); Microsoft.Office.Interop.Excel.Range range_value = ObjWorkSheet.get_Range(options.Get_name_column_value() + i.ToString(), options.Get_name_column_value() + i.ToString()); if (range_time.Text.ToString() == "" || range_value.Text.ToString() == "") { //обнаружена пустая клетка ObjExcel.Quit(); WindowError windowError = new WindowError("В файле присутствуют пустые поля"); windowError.Show(); return; } timeSeries_.Set_flag_sequence(options.flag_simplified_date); if (options.flag_simplified_date == true) { timeSeries_.AddDimensionTime(new DateTime(int.Parse(range_time.Text), 1, 1), Double.Parse(range_value.Text)); } else { timeSeries_.AddDimensionTime(DateTime.Parse(range_time.Text), Double.Parse(range_value.Text)); } } ObjExcel.Quit(); timeSeries_.Sort(); timeSeries_.SetColor(options.Get_color()); timeSeries_.SetNameTimeSeries(options.Get_name()); timeSeries_.CalculateAvg(); timeSeries_.CalculateMax(); timeSeries_.CalculateMin(); timeSeries_.CalculateAvgSquareDeviation(); ResultParcer = true; }
private void FileProcessing_Click(object sender, RoutedEventArgs e) { if (Checked_name_column_time.Text == "" || Checked_name_column_value.Text == "" || Checked_number_line_end_information.Text == "" || Checked_number_line_end_information.Text == "" || Checked_number_list.Text == "") { WindowError windowError = new WindowError("Присутствуют незаполненные поля"); windowError.Show(); return; } if (NameSeries.Text == "" || NameSeries.Text.IndexOf(",") != -1) { WindowError windowError = new WindowError("Имя ряда не пустое поле, не содержащее запятую"); windowError.Show(); return; } try { if (ParcerDataTable.CheckedFile() == false) { WindowError windowError = new WindowError("Не найден выбранный файл"); windowError.Show(); return; } } catch { WindowError windowError = new WindowError("Не выбран файл"); windowError.Show(); return; } OptionsParcerDataTable optionsParcerDataTable = new OptionsParcerDataTable(); try { optionsParcerDataTable.Set_flag_simplified_date(Checked_flag_simplified_date.IsChecked.GetValueOrDefault()); optionsParcerDataTable.Set_name_column_time(Checked_name_column_time.Text); optionsParcerDataTable.Set_name_column_value(Checked_name_column_value.Text); optionsParcerDataTable.Set_number_line_end_information(Checked_number_line_end_information.Text); optionsParcerDataTable.Set_number_line_start_information(Checked_number_line_start_information.Text); optionsParcerDataTable.Set_number_list(Checked_number_list.Text); optionsParcerDataTable.Set_color(Checked_color_series.Text); optionsParcerDataTable.Set_name(NameSeries.Text); if (AllDataTimeSeries.CheckedUniqueNameTimeSeries(NameSeries.Text) == false) { WindowError windowError = new WindowError("Необходимо уникальное имя для временного ряда"); windowError.Show(); return; } } catch { WindowError windowError = new WindowError("Некорректно заполнены поля"); windowError.Show(); return; } try { ParcerDataTable.Parcer(optionsParcerDataTable); } catch { WindowError windowError = new WindowError("Не удалось прочитать файл по указанным параметрам"); windowError.Show(); return; } if (ParcerDataTable.CheckedResultParcer() == true) { AllDataTimeSeries.AddNewTimeSeries(ParcerDataTable.GetTimeSeries()); this.Close(); } }