我在设置水平分页符时遇到问题。无论我将第一个分页符设置为哪一行,总是设置strlen()
这是我正在使用的代码。 (我检查了我是否在这段代码下面不小心设置了分页符,但我没有)所以这就是我用来设置打印设置的所有代码。
row 87
我花了两天的时间来尝试所有不同的设置而没有运气。无论我做什么,第一个int pageCount = 2;
string defprinter = null;
defprinter = xlApplication.ActivePrinter;
xlWorkSheet.ResetAllPageBreaks();
xlApplication.ActivePrinter = defprinter;
var with = xlWorkSheet.PageSetup;
with.PaperSize = Excel.XlPaperSize.xlPaperA4;
with.Orientation = Excel.XlPageOrientation.xlPortrait;
// Fit Sheet on One Page
with.Zoom = false;
with.FitToPagesWide = 1;
with.PrintArea = @"$A$1:$I$" + (pageCount * 71);
with.FitToPagesTall = pageCount;
xlWorkSheet.HPageBreaks.Add(xlWorkSheet.Range["A72"]);
xlWorkSheet.HPageBreaks.Add(xlWorkSheet.Range["A143"]);
// Normal Margins
with.LeftMargin = xlApplication.InchesToPoints(0.5);
with.RightMargin = xlApplication.InchesToPoints(0.5);
with.TopMargin = xlApplication.InchesToPoints(0.5);
with.BottomMargin = xlApplication.InchesToPoints(0.5);
始终设置为PageBreak
而不是row 87
。
任何建议都将不胜感激。
编辑:今天在另一台PC上尝试使用此代码,它可以正常工作。所以现在问题被确定为与特定机器上的Excel发生的事情有关。操作系统是Windows 10 BTW。
所以即使它有效,但这仍然是一个问题,因为我不能偶尔使用某些用户PC而不是其他用户。