Excel 有不同的工作表查看模式:普通、页面布局、分页预览。 (在 Excel 2010 中:在 View 选项卡中)。 View 模式为工作簿中的每个工作表单独保存,并在再次打开时恢复。
我正在尝试找到一种使用 HSSF 或 XSSF 设置 View 模式的方法。 不幸的是,在旧的二进制格式中,找到答案似乎是不可能的。 在 2007+ OOXML 格式差异中确实给出了基本答案,查看 xl/worksheets/sheet1.xml 在普通 View 中:
<sheetViews>
<sheetView rightToLeft="1" tabSelected="1" zoomScaleNormal="100" workbookViewId="0">
</sheetViews>
在页面布局 View 中:
<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);
关于java - 使用 apache poi 在 excel 文件中设置页面 View 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7861001/