コード例 #1
0
        private bool CreateContract_Attch2()
        {
            try
            {
                string file = $"Приложение 2.docx";

                // создаём документ
                DocX document = DocX.Create(dir + file);

                document.SetDefaultFont(new Font("Times New Roman"), fontSize: 12); // Устанавливаем стандартный для документа шрифт и размер шрифта
                document.MarginLeft             = 42.5f;
                document.MarginTop              = 34.1f;
                document.MarginRight            = 34.1f;
                document.MarginBottom           = 34.1f;
                document.PageLayout.Orientation = Xceed.Document.NET.Orientation.Landscape;

                document.InsertParagraph("Приложение 2").Alignment = Alignment.right;
                document.InsertParagraph($"к договору № {contract_num} от {_date.Day}.{_date.Month}.{_date.Year} г.").Alignment = Alignment.right;

                document.InsertParagraph("Список студентов ФГБОУ ВО «СибАДИ», направляемых на производственные объекты").Alignment = Alignment.center;
                document.InsertParagraph($"\t\t{contract_org}\t\t\t").UnderlineStyle(UnderlineStyle.singleLine).Alignment          = Alignment.center;
                document.InsertParagraph("наименование предприятия, учреждения, организации").Script(Script.superscript).FontSize(12).Alignment = Alignment.center;
                document.InsertParagraph("для прохождения").Alignment = Alignment.center;
                Paragraph paragraph1 = document.InsertParagraph($"\t\t{formPract.SelectedItem.ToString().Trim()}, {type_pract.SelectedItem.ToString().Trim()}\t\t\t").UnderlineStyle(UnderlineStyle.singleLine);
                paragraph1.Append($"в {_date.Year} г").Alignment = Alignment.center;
                document.InsertParagraph("вид и тип практики").Script(Script.superscript).FontSize(12).Alignment = Alignment.center;

                int _all_el = 0;
                foreach (List <string> tmp in selected_student)
                {
                    _all_el += tmp.Count;
                }

                // создаём таблицу с N строками и 3 столбцами
                Table table = document.AddTable(_all_el + 2, 9);
                // располагаем таблицу по центру
                table.Alignment = Alignment.center;
                table.AutoFit   = AutoFit.Contents;

                #region Стандартное заполнение
                table.Rows[0].Cells[0].Paragraphs[0].Append("№ п/п").Alignment = Alignment.center;
                table.Rows[0].Cells[1].Paragraphs[0].Append("Название факультета, кафедры, заявивших студентов на практику ").Alignment = Alignment.center;
                table.Rows[0].Cells[2].Paragraphs[0].Append("Направление/специальность").Alignment = Alignment.center;
                table.Rows[0].Cells[3].Paragraphs[0].Append("Сроки практики").Alignment            = Alignment.center;
                table.Rows[0].Cells[4].Paragraphs[0].Append("Курс").Alignment            = Alignment.center;
                table.Rows[0].Cells[5].Paragraphs[0].Append("Группа").Alignment          = Alignment.center;
                table.Rows[0].Cells[6].Paragraphs[0].Append("Ф.И.О. студента").Alignment = Alignment.center;
                table.Rows[0].Cells[7].Paragraphs[0].Append("Ф.И.О. руководителя практики от кафедры").Alignment           = Alignment.center;
                table.Rows[0].Cells[8].Paragraphs[0].Append("Контактные телефоны кафедры по вопросам практики ").Alignment = Alignment.center;

                table.Rows[1].Cells[0].Paragraphs[0].Append("1").Alignment = Alignment.center;
                table.Rows[1].Cells[1].Paragraphs[0].Append("2").Alignment = Alignment.center;
                table.Rows[1].Cells[2].Paragraphs[0].Append("3").Alignment = Alignment.center;
                table.Rows[1].Cells[3].Paragraphs[0].Append("4").Alignment = Alignment.center;
                table.Rows[1].Cells[4].Paragraphs[0].Append("5").Alignment = Alignment.center;
                table.Rows[1].Cells[5].Paragraphs[0].Append("6").Alignment = Alignment.center;
                table.Rows[1].Cells[6].Paragraphs[0].Append("7").Alignment = Alignment.center;
                table.Rows[1].Cells[7].Paragraphs[0].Append("8").Alignment = Alignment.center;
                table.Rows[1].Cells[8].Paragraphs[0].Append("9").Alignment = Alignment.center;
                #endregion

                int row = 2;
                for (int i = 0; i < selected_student.Count; i++)
                {
                    foreach (string tmp_st in selected_student[i])
                    {
                        table.Rows[row].Cells[0].Paragraphs[0].Append((i + 1).ToString()).Alignment = Alignment.center;
                        Group     group     = Helper.OGroups.Where(k => k.groupe.Equals(selected_group[i])).ElementAt(0);
                        Direction direction = Helper.ODirections.Where(k => k.name.Equals(group.direction)).ElementAt(0);
                        Cathedra  cathedra  = Helper.OCathedras.Where(k => k.cathedra.Equals(direction.id_cathedra)).ElementAt(0);

                        #region Вычисляем курс
                        int enroll = Convert.ToInt32(group.enroll_year); // Год поступления
                        int end    = Convert.ToInt32(group.end_year);    // Год окончания

                        int course = DateTime.Today.Year - enroll;
                        int month  = DateTime.Today.Month - 9;
                        if (month >= 0)
                        {
                            course++;
                        }
                        #endregion

                        table.Rows[row].Cells[1].Paragraphs[0].Append(cathedra.cathedra).Alignment = Alignment.center;                                                  // Кафедра
                        table.Rows[row].Cells[2].Paragraphs[0].Append(direction.code + " " + direction.name).Alignment = Alignment.center;                              // Направление
                        table.Rows[row].Cells[3].Paragraphs[0].Append(" - ").Alignment             = Alignment.center;                                                  // Сроки практики
                        table.Rows[row].Cells[4].Paragraphs[0].Append(course.ToString()).Alignment = Alignment.center;                                                  // Курс
                        table.Rows[row].Cells[5].Paragraphs[0].Append(group.groupe).Alignment      = Alignment.center;                                                  // Группа
                        table.Rows[row].Cells[6].Paragraphs[0].Append(tmp_st).Alignment            = Alignment.center;                                                  // Ф.И.О. студента
                        table.Rows[row].Cells[7].Paragraphs[0].Append(cathedra.surname + " " + cathedra.name + " " + cathedra.patronymic).Alignment = Alignment.center; // Ф.И.О. руководителя от кафедры
                        table.Rows[row].Cells[8].Paragraphs[0].Append(cathedra.phone).Alignment = Alignment.center;                                                     // Телефон кафедры
                        row++;

                        // Добавляем студента в БД Attach
                        // Разбиваем ФИО студента на состовляющие
                        var     fio    = tmp_st.Split();
                        Student st_tmp = Helper.OStudents.Where(k => k.surname.Equals(fio[0]) && k.name.Equals(fio[1]) && k.patronymic.Equals(fio[2])).ElementAt(0);
                        SQLiteAdapter.SetValue("attach", contract_num, st_tmp.id);
                    }
                }

                document.InsertParagraph().InsertTableAfterSelf(table);

                document.InsertParagraph();
                document.InsertParagraph("Согласовано:");
                document.InsertParagraph("Заведующий выпускающей кафедрой");
                document.InsertParagraph("«___________________________________»	______________ /______________________/");
                document.InsertParagraph("							подпись             расшифровка подписи").Script(Script.superscript).FontSize(10);
                document.InsertParagraph("Декан факультета / Директор института");
                document.InsertParagraph("«___________________________________»	______________ /______________________/");
                document.InsertParagraph("							подпись             расшифровка подписи").Script(Script.superscript).FontSize(10);
                document.InsertParagraph("Начальник отдела организации практики");
                document.InsertParagraph("и содействия трудоустройству выпускников    ______________ / Ю.С.Сачук /");
                document.InsertParagraph("							подпись             расшифровка подписи").Script(Script.superscript).FontSize(10);

                // сохраняем документ
                document.Save();
            }
            catch (Exception e)
            {
                MessageBox.Show($"Error: {e}", "Error", MessageBoxButton.OK);
                return(false);
            }

            return(true);
        }
コード例 #2
0
        private bool CreateContract_Attch1()
        {
            try
            {
                string file = $"Приложение 1.docx";

                // создаём документ
                DocX document = DocX.Create(dir + file);

                document.SetDefaultFont(new Font("Times New Roman"), fontSize: 12); // Устанавливаем стандартный для документа шрифт и размер шрифта
                document.MarginLeft   = 42.5f;
                document.MarginTop    = 34.1f;
                document.MarginRight  = 34.1f;
                document.MarginBottom = 34.1f;

                document.InsertParagraph("Приложение 1").Alignment = Alignment.right;
                document.InsertParagraph($"к договору № {contract_num} от {_date.Day}.{_date.Month}.{_date.Year} г.").Alignment = Alignment.right;

                // создаём таблицу с N строками и 3 столбцами
                Table table = document.AddTable(selected_dir.Count + 2, 3);
                // располагаем таблицу по центру
                table.Alignment = Alignment.center;
                table.AutoFit   = AutoFit.Contents;

                #region Стандартное заполнение
                table.Rows[0].Cells[0].Paragraphs[0].Append("№ п/п").Alignment = Alignment.center;
                table.Rows[0].Cells[1].Paragraphs[0].Append("Направление /специальность").Alignment = Alignment.center;
                table.Rows[0].Cells[2].Paragraphs[0].Append("Курс").Alignment = Alignment.center;

                table.Rows[1].Cells[0].Paragraphs[0].Append("1").Alignment = Alignment.center;
                table.Rows[1].Cells[1].Paragraphs[0].Append("2").Alignment = Alignment.center;
                table.Rows[1].Cells[2].Paragraphs[0].Append("3").Alignment = Alignment.center;
                #endregion

                for (int i = 0; i < selected_dir.Count; i++)
                {
                    Direction direction = Helper.ODirections.Where(k => k.code.Equals(selected_dir[i])).ElementAt(0);
                    table.Rows[i + 2].Cells[0].Paragraphs[0].Append((i + 1).ToString()).Alignment = Alignment.center;
                    table.Rows[i + 2].Cells[1].Paragraphs[0].Append(direction.code + " " + direction.name).Alignment = Alignment.both;
                    string courses = "";
                    foreach (string course in selected_course[i])
                    {
                        courses += Convert.ToInt32(course.Split()[0]) + ", ";
                    }

                    table.Rows[i + 2].Cells[2].Paragraphs[0].Append(courses.TrimEnd(new char[] { ',', ' ' })).Alignment = Alignment.center;
                }

                document.InsertParagraph().InsertTableAfterSelf(table);

                document.InsertParagraph();
                document.InsertParagraph("Согласовано:");
                document.InsertParagraph();
                Paragraph paragraph1 = document.InsertParagraph("ФГБОУ ВО «СибАДИ»				");
                paragraph1.Append($"__{contract_org}__").UnderlineStyle(UnderlineStyle.singleLine);
                Paragraph paragraph2 = document.InsertParagraph("Ректор		А.П. Жигадло");
                paragraph2.Append("				наименование предприятия, учреждения, организации").Script(Script.superscript).FontSize(10);
                document.InsertParagraph("							____________________________________");
                document.InsertParagraph("							подпись			расшифровка подписи").Script(Script.superscript).FontSize(10);
                document.InsertParagraph("МП							МП");
                document.InsertParagraph("Имеет право подписи").Italic();
                document.InsertParagraph("за руководителя(ректора)").Italic();
                document.InsertParagraph("Проректор по учебной работе");
                document.InsertParagraph("(доверенность № 61 от 29.10.2018)");
                document.InsertParagraph("____________________ С.В. Мельник");

                // сохраняем документ
                document.Save();
            }
            catch (Exception e)
            {
                MessageBox.Show($"Error: {e}", "Error", MessageBoxButton.OK);
                return(false);
            }

            return(true);
        }