2011-10-22 1045 views
2

Excel有不同的模式来查看工作表:正常,页面布局,分页预览。 (在Excel 2010中:在视图选项卡中)。查看模式分别保存在工作簿中的每张纸上,并在再次打开时恢复。使用apache poi在excel文件中设置页面视图模式

我想找到一种方法来设置视图模式使用HSSF或XSSF。 在旧的二进制格式中,找到答案似乎很不幸。 在2007+ OOXML格式版本比较并给出最基本的答案,看着XL /工作表/ sheet1.xml 在普通视图:

<sheetViews> 
<sheetView rightToLeft="1" tabSelected="1" zoomScaleNormal="100" workbookViewId="0"> 
</sheetViews> 

在页面视图:

<sheetViews> 
<sheetView rightToLeft="1" tabSelected="1" view="pageLayout" zoomScaleNormal="100" workbookViewId="0"/> 
</sheetViews> 

这是第二标签在每张表中。是否有任何XSSF API选项可以编辑该属性? (或解决问题的唯一办法是将文件解包,编辑并重新打包)

谢谢!

回答

1

XSSF不直接暴露这一点,但你可以得到它,如果你想

XSSFSheet对象,调用getCTWorksheet,以获得低级别的XML对象支持的纸张。 CTWorksheet提供了一个getSheetViews方法。你会喜欢想要的东西,如:

CTSheetView view = sheet.getCTWorksheet().getSheetViews().getSheetViewArray(0); 
view.setView(STSheetViewType.PAGE_LAYOUT);