使用Apache POI在Excel文件中设置浏览模式 [英] Set page view mode in excel file using apache poi

查看:1697
本文介绍了使用Apache POI在Excel文件中设置浏览模式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Excel有用于查看不同板材的模式:正常,页面布局,分页符preVIEW。 (2010年Excel中:在视图选项卡)。观看模式单独保存每个工作表在工作簿,然后再次打开时恢复。

Excel has different modes for viewing a sheet: Normal, Page Layout, Page Break Preview. (In excel 2010: in the view tab). The view mode is saved seperately for each sheet in a workbook and is restored when opened again.

我试图找到一种方法来设置使用HSSF要么XSSF或视图模式。
在旧的二进制格式,寻找答案似乎完全不可能很遗憾。
在2007+ OOXML格式版本比较并给出基本答案,看着XL /工作表/ sheet1.xml
在普通视图:

I am trying to find a way to set a view mode using Either HSSF or XSSF. In the old binary format, finding the answer seems quite impossible unfortunately. In 2007+ OOXML format diffing does give the basic answer, looking at xl/worksheets/sheet1.xml In normal view:

<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选项? (或问题的唯一解决办法是拆封文件,编辑它,并重新包装)

That is the second tag in each sheet. Is there any XSSF API option to edit that attribute? (or the only solution to the problem would be unpacking the file, editing it and repacking)

谢谢!

推荐答案

XSSF不直接暴露这一点,但你可以得到它,如果你想

XSSF doesn't expose this directly, but you can get at it if you want

XSSFSheet 对象,调用 getCTWorksheet 来获得低级别的XML对象支持的纸张。 CTWorksheet提供了一个 getSheetViews 方法。你会喜欢想是这样的:

From the XSSFSheet object, call getCTWorksheet to get the low level XML object backing the sheet. CTWorksheet provides a getSheetViews method. You'll like want something like:

 CTSheetView view = sheet.getCTWorksheet().getSheetViews().getSheetViewArray(0);
 view.setView(STSheetViewType.PAGE_LAYOUT);

这篇关于使用Apache POI在Excel文件中设置浏览模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆