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

我正在尝试找到一种使用HSSF或XSSF设置视图模式的方法。
不幸的是,在旧的二进制格式中,找到答案似乎是不可能的。
在2007+ OOXML格式差异中确实给出了基本答案,请查看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对象中,调用getCTWorksheet以获取支持工作表的低级XML对象。 CTWorksheet提供了一个getSheetViews方法。您会想要这样的东西:

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

09-27 06:23