使用apache poi在excel文件中设置页面视图模式
问题描述:
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选项可以编辑该属性? (或解决问题的唯一办法是将文件解包,编辑并重新打包)
谢谢!
答
XSSF不直接暴露这一点,但你可以得到它,如果你想
从XSSFSheet
对象,调用getCTWorksheet
,以获得低级别的XML对象支持的纸张。 CTWorksheet提供了一个getSheetViews
方法。你会喜欢想要的东西,如:
CTSheetView view = sheet.getCTWorksheet().getSheetViews().getSheetViewArray(0);
view.setView(STSheetViewType.PAGE_LAYOUT);