2

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 选项来编辑该属性?(或者问题的唯一解决方案是解压缩文件,编辑它并重新打包)

谢谢!

4

1 回答 1

2

XSSF 不会直接公开它,但如果你愿意,你可以得到它

XSSFSheet对象调用getCTWorksheet以获取支持工作表的低级 XML 对象。CTWorksheet 提供了一种getSheetViews方法。你会想要类似的东西:

 CTSheetView view = sheet.getCTWorksheet().getSheetViews().getSheetViewArray(0);
 view.setView(STSheetViewType.PAGE_LAYOUT);
于 2011-10-24T13:57:53.627 回答