Пример #1
0
 public static void CreateDoc(TouristWordExcelInfo info)
 {
     using (WordprocessingDocument wordDocument = WordprocessingDocument.Create(info.FileName, WordprocessingDocumentType.Document))
     {
         MainDocumentPart mainPart = wordDocument.AddMainDocumentPart();
         mainPart.Document = new Document();
         Body docBody = mainPart.Document.AppendChild(new Body());
         docBody.AppendChild(CreateParagraph(new WordParagraph
         {
             Texts = new List <(string, WordTextProperties)> {
                 (info.Title, new WordTextProperties {
                     Bold = true, Size = "24",
                 })
             },
Пример #2
0
        public static void CreateDoc(TouristWordExcelInfo info)
        {
            using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(info.FileName, SpreadsheetDocumentType.Workbook))
            {
                // Создаем книгу (в ней хранятся листы)
                WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart();
                workbookpart.Workbook = new Workbook();
                CreateStyles(workbookpart);

                // Получаем/создаем хранилище текстов для книги
                SharedStringTablePart shareStringPart =
                    spreadsheetDocument.WorkbookPart.GetPartsOfType <SharedStringTablePart>().Count() > 0
                ?
                    spreadsheetDocument.WorkbookPart.GetPartsOfType <SharedStringTablePart>().First()
                :
                    spreadsheetDocument.WorkbookPart.AddNewPart <SharedStringTablePart>();

                // Создаем SharedStringTable, если его нет
                if (shareStringPart.SharedStringTable == null)
                {
                    shareStringPart.SharedStringTable = new SharedStringTable();
                }

                // Создаем лист в книгу
                WorksheetPart worksheetPart = workbookpart.AddNewPart <WorksheetPart>();
                worksheetPart.Worksheet = new Worksheet(new SheetData());

                // Добавляем лист в книгу
                Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.AppendChild <Sheets>(new Sheets());

                Sheet sheet = new Sheet()
                {
                    Id      = spreadsheetDocument.WorkbookPart.GetIdOfPart(worksheetPart),
                    SheetId = 1,
                    Name    = "Лист"
                };
                sheets.Append(sheet);

                InsertCellInWorksheet(new ExcelCellParameters
                {
                    Worksheet       = worksheetPart.Worksheet,
                    ShareStringPart = shareStringPart,
                    ColumnName      = "A",
                    RowIndex        = 1,
                    Text            = info.Title,
                    StyleIndex      = 2U
                });
                MergeCells(new ExcelMergeParameters
                {
                    Worksheet    = worksheetPart.Worksheet,
                    CellFromName = "A1",
                    CellToName   = "C1"
                });

                uint rowIndex = 2;
                int  i        = 0;

                foreach (var travel in info.TravelGuides)
                {
                    InsertCellInWorksheet(new ExcelCellParameters
                    {
                        Worksheet       = worksheetPart.Worksheet,
                        ShareStringPart = shareStringPart,
                        ColumnName      = "A",
                        RowIndex        = rowIndex,
                        Text            = travel.TravelName,
                        StyleIndex      = 0U
                    });
                    rowIndex++;

                    foreach (var guide in info.TravelGuides[i].Guides)
                    {
                        InsertCellInWorksheet(new ExcelCellParameters
                        {
                            Worksheet       = worksheetPart.Worksheet,
                            ShareStringPart = shareStringPart,
                            ColumnName      = "B",
                            RowIndex        = rowIndex,
                            Text            = guide.Name,
                            StyleIndex      = 1U
                        });

                        InsertCellInWorksheet(new ExcelCellParameters
                        {
                            Worksheet       = worksheetPart.Worksheet,
                            ShareStringPart = shareStringPart,
                            ColumnName      = "C",
                            RowIndex        = rowIndex,
                            Text            = guide.Surname,
                            StyleIndex      = 1U
                        });
                        InsertCellInWorksheet(new ExcelCellParameters
                        {
                            Worksheet       = worksheetPart.Worksheet,
                            ShareStringPart = shareStringPart,
                            ColumnName      = "D",
                            RowIndex        = rowIndex,
                            Text            = guide.WorkPlace,
                            StyleIndex      = 1U
                        });
                        rowIndex++;
                    }
                    i++;
                }
                workbookpart.Workbook.Save();
            }
        }