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选项来编辑该属性? (或问题的唯一解决方案是解压缩文件,编辑和重新打包)
谢谢!
答案 0 :(得分:2)
XSSF不直接公开,但如果你想要
,你可以得到它从XSSFSheet
对象中,调用getCTWorksheet
以获取支持工作表的低级XML对象。 CTWorksheet提供了getSheetViews
方法。你想要的东西如下:
CTSheetView view = sheet.getCTWorksheet().getSheetViews().getSheetViewArray(0);
view.setView(STSheetViewType.PAGE_LAYOUT);