Example #1
0
        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(путьКПапкеШаблона + "\\" + имяФайла);
        }
Example #2
0
        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();
        }
Example #3
0
        public static ОписаниеФормы ПолучитьОписаниеФормыИзКнигиExcel(Workbook книгаExcel)
        {
            Мета мета = new Мета(книгаExcel);

            List <Таблица> таблицы = Таблица.ПолучитьТаблицыФормы(книгаExcel.Sheets);

            List <СвободнаяЯчейка> свободныеЯчейки = СвободнаяЯчейка.ПолучитьСвободныеЯчейки(книгаExcel.Worksheets[1]);

            ОписаниеФормы описаниеФормы = new ОписаниеФормы(мета, таблицы, свободныеЯчейки);

            return(описаниеФормы);
        }