如何使用EPPlus设置Excel边距

9
我需要能够通过程序设置Excel工作簿的边距(打印机设置)。我找到了这个文件:ExcelPrinterSettings.cs。其中有一个类,具有以下构造函数:
ExcelPrinterSettings(XmlNamespaceManager ns,
    XmlNode topNode,ExcelWorksheet ws)

但是我不知道应该传递什么作为前两个参数。
我已经有了创建工作表的代码,所以可以将其作为第三个参数传递。

非常感谢任何建议。

2个回答

17

我使用以下代码和epplus设置目标Excel文件的打印机设置:

ExcelWorksheet ew;
ew.PrinterSettings.TopMargin = tartetTopMarginValueInCm / 2.54M;
ew.PrinterSettings.RightMargin = targetRightMarginValueInCm / 2.54M;
...
ew.PrinterSettings.HeaderMargin = targetHeaderMarginInCm / 2.54M;

如果您想使用厘米,请不要忘记将其转换为英寸,因为所有 Epplus 打印机设置值都是以英寸为单位的。

Excel 中的 页面设置 与 Epplus 中的 PrinterSettings 屏幕对比如下:

Page setup in excel vs. epplus settings


非常感谢。由于代码完成/智能感知,我已经找到答案了。它似乎确实可以工作。我根本没有使用ExcelPrinterSettings.cs。 - user2943111

3

与上述相同,只需进行一些小调整(100%有效)

ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Demo");

ws.PrinterSettings.TopMargin =(decimal).5 / 2.54M; // narrow border
ws.PrinterSettings.RightMargin = (decimal).5 / 2.54M; //narrow border

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接