2016-11-15 116 views
1

我想限制页面大小为30行,其余数据从excel的下一页开始。目前它设置为Excel.XlPaperSize.xlPaperA4。我想分页符符合条件

如何将纸张大小限制为c#excel中的行数?

if (row_no >= 30) 
{ 
rng = (Excel.Range)xl_sheet.Range[xl_sheet.Cells[row_no, 1],xl_sheet.Cells[row_no, 1]]; 
xl_sheet.HPageBreaks.Add(rng); 
row_no = 12; 
} 

,但上面的代码并没有从明年一页开始阅读。
我对页面设置代码:

 xl_sheet.Select(Type.Missing); 
     var ps = xl_sheet.PageSetup; 
     ps.Orientation = Excel.XlPageOrientation.xlLandscape; 
     ps.FitToPagesTall = false; 
     ps.FitToPagesWide = 1; 
     ps.Zoom = false; 
     ps.PaperSize = Excel.XlPaperSize.xlPaperA4; 
     ps.PrintTitleRows = "$1:$11"; 
+0

也许这可能是有帮助吗?尤其是工作表。范围[]部分? http://stackoverflow.com/questions/35408492/getting-maximum-row-column-number-from-excel-range –

+0

感谢您的回复。我想分页符,下一页应该从第12行开始,当它到达第30行时,它应该在循环中分页。我在循环中迭代数据。 – imsome1

回答

0

我上的使用下面的代码的问题,它做工精细:

if (row_no% 30==0) 
{ 
rng = (Excel.Range)xl_sheet.Range[xl_sheet.Cells[row_no, 1],xl_sheet.Cells[row_no, 1]]; 
xl_sheet.HPageBreaks.Add(rng); 

}