我需要能够以编程方式设置Excel工作簿的边距(打印机设置) 我找到了这个文件:
有一个包含以下构造函数的类:
ExcelPrinterSettings(XmlNamespaceManager ns,
XmlNode topNode,ExcelWorksheet ws)
但我不知道我应该为前两个参数传递什么 我已经有了制作工作表的代码,所以我可以将其作为第三个参数传递。
非常感谢任何建议。
答案 0 :(得分:12)
我使用epplus和此代码在目标excel文件中设置打印机设置:
ExcelWorksheet ew;
ew.PrinterSettings.TopMargin = tartetTopMarginValueInCm / 2.54M;
ew.PrinterSettings.RightMargin = targetRightMarginValueInCm / 2.54M;
...
ew.PrinterSettings.HeaderMargin = targetHeaderMarginInCm / 2.54M;
不要忘记将cm转换为英寸(如果您想使用cm,因为所有epplus打印机设置值都以英寸为单位)。
在Excel中使用页面设置与在Epplus中使用 PrinterSettings 进行屏幕显示:
答案 1 :(得分: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