private void СеарилизоватьВXMLИСохранить(ОписаниеФормы описаниеФормы, out string путьКПапкеШаблона) { путьКПапкеШаблона = МенеджерНастроек.Настройки.ПутьКПапкеСгенерированныхШаблонов.Value + описаниеФормы.Мета.Идентификатор + "\\" + описаниеФормы.Мета.ДатаНачалаДействия.Substring(0, 10) + "-" + описаниеФормы.Мета.ДатаОкончанияДействия.Substring(0, 10); System.IO.Directory.CreateDirectory(путьКПапкеШаблона); string имяФайла = описаниеФормы.Мета.Идентификатор + ".xml"; XmlSerializer xmlSerializer = new XmlSerializer(описаниеФормы.GetType()); XDocument xDocument = new XDocument(); using (XmlWriter xmlWriter = xDocument.CreateWriter()) { xmlSerializer.Serialize(xmlWriter, описаниеФормы); } XElement mainXmlStream = xDocument.Root; mainXmlStream.Save(путьКПапкеШаблона + "\\" + имяФайла); }
private void КонвертироватьКнигуВШаблон(string путьККнигеExcel) { Excel.Application excelApp = new Excel.Application(); Workbook книгаExcel = excelApp.Workbooks.Open(путьККнигеExcel); try { ОписаниеФормы описаниеФормы = ОписаниеФормы.ПолучитьОписаниеФормыИзКнигиExcel(книгаExcel); СеарилизоватьВXMLИСохранить(описаниеФормы, out string путьКПапкеШаблона); if (путьКПапкеШаблона != "") { fileDropLabel.Content = $"Сконвертировано успешно. Путь к сгенерированному файлу:\n\n{путьКПапкеШаблона}"; _ = Process.Start(fileName: путьКПапкеШаблона); } } catch (System.Exception e) { _ = MessageBox.Show($"Возникла ошибка при получении метаструктуры из файла. Текст ошибки:\n\n{e.Message}"); throw; } книгаExcel.Close(); excelApp.Quit(); }
public static ОписаниеФормы ПолучитьОписаниеФормыИзКнигиExcel(Workbook книгаExcel) { Мета мета = new Мета(книгаExcel); List <Таблица> таблицы = Таблица.ПолучитьТаблицыФормы(книгаExcel.Sheets); List <СвободнаяЯчейка> свободныеЯчейки = СвободнаяЯчейка.ПолучитьСвободныеЯчейки(книгаExcel.Worksheets[1]); ОписаниеФормы описаниеФормы = new ОписаниеФормы(мета, таблицы, свободныеЯчейки); return(описаниеФормы); }