2014-01-09 55 views
6

我需要能够以编程方式设置Excel工作簿的边距(打印机设置)。
我发现这个文件:如何使用EPPlus设置Excel页边距

ExcelPrinterSettings.cs

没有与下面的构造函数的类:

ExcelPrinterSettings(XmlNamespaceManager ns, 
    XmlNode topNode,ExcelWorksheet ws) 

,但我不知道我应该在传递的前两个参数。
我已经有了制作工作表的代码,所以我可以将它作为第三个参数传入。

非常感谢您的任何建议。

回答

11

我这个代码在目标设定打印机设置epplus使用Excel文件:

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

不要忘记转换厘米英寸(如果你想使用厘米,因为所有epplus打印机的设置值是英寸)。

屏幕采用页面设置在Excel与PrinterSettings在Epplus:

Page setup in excel vs. epplus settings

+0

非常感谢。由于代码完成/智能感知,我已经发现了它。它确实似乎工作。我根本没有使用ExcelPrinterSettings.cs。 – user2943111

2

与上面的小调整(工程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