打开XML SDK页边距

本文关键字:页边距 SDK XML 打开 | 更新日期: 2023-09-27 18:17:04

我正在尝试设置由开放xml sdk生成的excel电子表格上的页边距。我没有打开一个已经存在的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()函数返回null。我也试着做

worksheet.Append(pageMargins1);

可惜运气不好。

同样使用这个例子中的代码:如何通过OpenXML sdk将excel 2007文档方向更改为横向如果从头创建文档,设置页面方向不起作用。如何添加页面设置?pagemmargin实例到文档?

有人知道这个SDK并知道如何使用页边距或页面设置类吗?

打开XML SDK页边距

添加到工作表的顺序很重要。PageMargins需要在pagessetup之前添加,并且它们都需要在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文件的标记进行比较。