Установить свойство масштабирования в Excel, используя C # с OpenXML - PullRequest
4 голосов
/ 15 марта 2012

Я создал страницу asp.net, которая создает книгу Excel. Я установил свойство масштабирования ориентации высоты страницы и ширины рабочей книги следующим образом:

DocumentFormat.OpenXml.Spreadsheet.PageSetup pgOr = new DocumentFormat.OpenXml.Spreadsheet.PageSetup();
    pgOr.Orientation = OrientationValues.Landscape;
    pgOr.FitToHeight = 3;
    pgOr.FitToWidth = 1;
    newWorksheetPart.Worksheet.AppendChild(pgOr);

Тем не менее, когда вы загружаете документ Excel и открываете, масштабирование PageSetup было установлено на 1 страницу в ширину и 3 страницы в высоту, что мне и нужно, но переключатель «По размеру» не выбран, поэтому он фактически не использует установка.

Я подумал, что на этом пути мне нужно установить значение true. Например, FitToPage или что-то еще, я не знаю, какой именно. Кто-нибудь знает?

ПРИМЕЧАНИЕ. Помните, что я использую DocumentFormat.OpenXml, а не Microsoft.Office.Interop.Excel.

Ответы [ 2 ]

5 голосов
/ 16 марта 2012

OpenXML SDK предоставляет класс с именем PageSetupProperties, который предоставляет свойство с именем FitToPage.Установите это свойство на true, чтобы установить переключатель:

SheetProperties sp = new SheetProperties(new PageSetupProperties());

Worksheet ws = newWorksheetPart.Worksheet;
ws.SheetProperties = sp;

// Set the FitToPage property to true
ws.SheetProperties.PageSetupProperties.FitToPage = BooleanValue.FromBoolean(true);

DocumentFormat.OpenXml.Spreadsheet.PageSetup pgOr = new DocumentFormat.OpenXml.Spreadsheet.PageSetup();
pgOr.Orientation = DocumentFormat.OpenXml.Spreadsheet.OrientationValues.Landscape;
pgOr.FitToHeight = 3;
pgOr.FitToWidth = 1;
ws.AppendChild(pgOr);
0 голосов
/ 18 июня 2018

должен быть установлен FitToPage, код xml см. Ниже:

sheet1.xml
...
<sheetPr>
    <pageSetUpPr fitToPage="1"/>
</sheetPr>
...
...