2013-05-20 164 views
0

我正在使用NPOI框架来生成97/2003 Excel工作簿。我需要设置分页符每44行和从框架下载提供的示例,代码要做到这一点:NPOI分页符

sheet.SetRowBreak(INT行)

我可以确认这些设置的集合的行整数,但是当打开文档并查看分页符预览时,只有一个页面包含整个工作表。

示例代码如下:

for(int rowCount = 0; rowCount < MaxRows; rowCount += 44) 
{ 
    worksheet.SetRowBreak(rowCount); 
} 

想法?

回答

1

这是因为从NPOI的缺省值。它被设置为适合整个事情到一个页面。只需将此行添加到代码中,并且如果工作表包含足够多的行或列,则应该有多个页面。

worksheet.FitToPage = false; 

但是如果你想以适应您的工作表的宽度到一个页面不改变FitToPage属性,但添加这样的事情代码:

worksheet.PrintSetup.FitHeight = 9999; 
// worksheet.PrintSetup.FitWidth = 1; // this is the default value 

那么你的工作总是会有一页或更少的宽度以及9999页或更少的高度。

+0

这是我在POI文档中找到的解决方案。谢谢你提醒我关于这个帖子。 – RominNoodleSamurai

0

在POI中进行更改后是否保存文件?

我想这一点,并罚款,只要文件被保存后,它的工作:

for(int rowCount = 43; rowCount < sheet.LastRowNum; rowCount += 44) 
{ 
    worksheet.SetRowBreak(rowCount); 
} 
+0

我正在保存该文件,但分页符由于某种原因未在那里显示。您是否偶然对工作簿或工作表中的PrintArea,边距或纸张大小属性进行了更改?我相信这可能是我的问题的原因和解决方法,但我没有时间真正彻底地测试它。 – RominNoodleSamurai

+0

@RominNoodleSamurai不,我没有对这些属性做任何修改。请注意,我确实改变了一些代码。 – Jay