Java 使用apache poi在excel文件中设置页面查看模式

Java 使用apache poi在excel文件中设置页面查看模式,java,excel,apache-poi,xssf,hssf,Java,Excel,Apache Poi,Xssf,Hssf,Excel有不同的工作表查看模式:普通、页面布局、分页符预览。(在excel 2010中:在“视图”选项卡中)。对于工作簿中的每个工作表,视图模式分别保存,并在再次打开时恢复 我试图找到一种使用HSSF或XSSF设置视图模式的方法。 不幸的是,在旧的二进制格式中,找到答案似乎是不可能的。 在2007+OOXML格式中,diffing给出了基本答案,请参阅xl/worksheets/sheet1.xml 在正常情况下: <sheetViews> <sheetView right

Excel有不同的工作表查看模式:普通、页面布局、分页符预览。(在excel 2010中:在“视图”选项卡中)。对于工作簿中的每个工作表,视图模式分别保存,并在再次打开时恢复

我试图找到一种使用HSSF或XSSF设置视图模式的方法。 不幸的是,在旧的二进制格式中,找到答案似乎是不可能的。 在2007+OOXML格式中,diffing给出了基本答案,请参阅xl/worksheets/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选项可以编辑该属性?(或者问题的唯一解决方案是解包文件、编辑文件并重新打包)


谢谢

XSSF不会直接公开这一点,但如果需要,您可以使用它

XSSFSheet
对象中,调用
getctsheet
获取支持工作表的低级XML对象。CTWorksheet提供了一个
getSheetViews
方法。您可能会想要以下内容:

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