Открыть XML Выравнивание столбцов на одной странице во время печати - PullRequest
0 голосов
/ 31 января 2020

Я использую Open XML для создания файла Excel, который имеет 9 столбцов. При печати этого Excel 6 столбцов находятся на первой странице, а следующие 3 столбца на следующей странице. Мне нужно, чтобы 9 строк были на одной странице. Ориентация должна быть портретной, а размер бумаги - А4.

            spreadsheet.WorkbookPart.Workbook = new Workbook();
            uint worksheetNumber = 1;
            Sheets sheets = spreadsheet.WorkbookPart.Workbook.AppendChild(new Sheets());
            WorksheetPart newWorksheetPart = spreadsheet.WorkbookPart.AddNewPart<WorksheetPart>();
            Sheet sheet = new Sheet() { Id = spreadsheet.WorkbookPart.GetIdOfPart(newWorksheetPart), SheetId = worksheetNumber, Name = excelName };
            sheets.Append(sheet);
            OpenXmlWriter writer = OpenXmlWriter.Create(newWorksheetPart, Encoding.ASCII);
            writer.WriteStartElement(new Worksheet());
            writer.WriteStartElement(new SheetData());
            foreach (DataTable dataDt in datataDs.Tables)
                WriteDataTableToExcelWorksheet(dataDt, newWorksheetPart, writer, pullListFlag, TopcolNames);
            writer.WriteEndElement();
            writer.WriteEndElement();
            writer.Close();
            WorkbookPart workbookPart = spreadsheet.WorkbookPart;
            WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
            AddStyleSheet(spreadsheet);
            worksheetPart.Worksheet.Save();
            spreadsheet.WorkbookPart.Workbook.Save();

 MergeCells(spreadsheet, "A1", "C1");
                        MergeCells(spreadsheet, "D1", "F1");
                        MergeCells(spreadsheet, "G1", "I1");
                        CreateCustomColumnWidth(worksheetPart, 30, (uint)GetColumnIndex("A1"), (uint)GetColumnIndex("I1"));
                        CreateCustomColumnWidth(worksheetPart, 15, (uint)GetColumnIndex("A2"), (uint)GetColumnIndex("C2"));
                        CreateCustomColumnWidth(worksheetPart, 15, (uint)GetColumnIndex("D2"), (uint)GetColumnIndex("I2"));
...