Поля страницы Open XML SDK - PullRequest
       10

Поля страницы Open XML SDK

0 голосов
/ 08 декабря 2011

Я пытаюсь установить поля страницы в таблице Excel, создаваемой open xml sdk.Я не открываю документ Excel, который уже существует, он создан с нуля.Я использую класс PageMargins, но не уверен, как прикрепить этот экземпляр к рабочему листу.Инструмент производительности SDK дает следующий код:

PageMargins pageMargins1 = worksheet.GetFirstChild<PageMargins>();
pageMargins1.Left = 0.45D;
pageMargins1.Right = 0.45D;
pageMargins1.Top = 0.5D;
pageMargins1.Bottom = 0.5D;

Функция GetFirstChild () возвращает ноль.Я также попытался сделать

worksheet.Append(pageMargins1);

, но не повезло.

Также используя код из этого примера: Как изменить ориентацию документа Excel 2007 в альбомную ориентацию с помощью OpenXML sdk установка ориентации страницы не работает при создании документа с нуля.Как добавить экземпляр PageSetup & PageMargin в документ?

Кто-нибудь знает об этом SDK и знает, как использовать поля или класс настройки страницы?

1 Ответ

1 голос
/ 10 декабря 2011

Порядок добавления вещей на лист важен. PageMargins должны быть добавлены перед PageSetup, и они оба должны быть в конце после SheetData. Кроме того, все настройки должны быть установлены. Я использовал этот код:

PageMargins pageMargins1 = new PageMargins();
pageMargins1.Left = 0.45D;
pageMargins1.Right = 0.45D;
pageMargins1.Top = 0.5D;
pageMargins1.Bottom = 0.5D;
pageMargins1.Header = 0.3D;
pageMargins1.Footer = 0.3D;
worksheetPart.Worksheet.AppendChild(pageMargins1);

PageSetup pageSetup = new PageSetup();
pageSetup.Orientation = OrientationValues.Landscape;
pageSetup.FitToHeight = 2;
pageSetup.HorizontalDpi = 200;
pageSetup.VerticalDpi = 200;
worksheetPart.Worksheet.AppendChild(pageSetup);

Аккуратный прием, который следует использовать вместе с инструментом повышения производительности sdk, - переименовать файл .xlsx в .zip, а затем извлечь содержимое. Затем откройте /xl/worksheets/sheet.xml и сравните разметку с разметкой файла Excel, созданного в Excel.

...