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);