使用C#和OpenXML将缩放属性设置为适合Excel

bro*_*man 4 c# openxml export-to-excel

我创建了一个创建Excel工作簿的asp.net页面.我已设置页面设​​置高度和工作簿宽度的方向缩放属性,如下所示:

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

但是,当您下载Excel文档并打开PageSetup时,缩放设置为1页宽和3页高,这是我想要的,但未选择"适合"单选按钮,因此它实际上并未使用这些设置.

我想在途中我需要设置一些属性为true.就像FitToPage或其他东西一样,我不知道哪一个.谁知道?

注意:请记住我使用的是DocumentFormat.OpenXml而不是Microsoft.Office.Interop.Excel.

Han*_*ans 5

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);
Run Code Online (Sandbox Code Playgroud)