编程语言
首页 > 编程语言> > C#Excel(2003)互操作-边距不对应于输入值?

C#Excel(2003)互操作-边距不对应于输入值?

作者:互联网

我正在使用dotNET C#与Excel 2003通信.
我正在尝试更改文档的打印边距,但是我输入的值与Excel然后使用的边距值不对应…

xls.PageSetup setup = ws.PageSetup;
setup.Orientation = xls.XlPageOrientation.xlLandscape;

//Standard margins (Top - Bottom - Left - Right):
//                  2.5 - 2.5 - 1.9 - 1.9


setup.BottomMargin = 1.0;
setup.TopMargin = 1.0;
setup.LeftMargin = 1.0;
setup.RightMargin = 1.0;
//Excel gives me: 0.0 - 0.0 - 0.0 - 0.0

setup.BottomMargin = 20.0;
setup.TopMargin = 20.0;
setup.LeftMargin = 20.0;
setup.RightMargin = 20.0;
//Now Excel gives me: 0.7 - 0.7 - 0.7 - 0.7

setup.BottomMargin = 30.0;
setup.TopMargin = 30.0;
setup.LeftMargin = 30.0;
setup.RightMargin = 30.0;
//Now Excel gives me: 1.1 - 1.1 - 1.1 - 1.1

如您所见,Excel确实更改了其边距,但与我输入的倍数不对应.
有我缺少的因素吗?

非常感谢您的反馈!

解决方法:

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.pagesetup.rightmargin(v=office.11).aspx

Margins are set or returned in points. Use the 07001 method or the 07002 method to convert measurements from inches or centimeters.

希望这可以帮助

标签:margins,interop,c,excel
来源: https://codeday.me/bug/20191123/2066309.html