2013-05-20 166 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