NPOI分页符

时间:2013-05-20 18:54:56

标签: c# printing apache-poi npoi

我正在使用NPOI框架生成97/2003 Excel工作簿。我需要每44行设置一个分页符,并从框架下载中提供的示例中,执行此操作的代码是:

sheet.SetRowBreak(int row)

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

以下示例代码:

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

想法?

2 个答案:

答案 0 :(得分:1)

这是因为NPOI的默认值。它被设置为适合整个页面。只需将此行添加到您的代码中,如果工作表包含足够的行或列,您应该有多个页面。

worksheet.FitToPage = false;

但是,如果您希望将工作表宽度调整为一页,请不要更改FitToPage属性,而是在代码中添加以下内容:

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

然后,您的工作表的宽度始终为一页或更少,高度为9999页或更少。

答案 1 :(得分:0)

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

我试过这个,只要文件后来保存,它就能正常工作:

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