java - 使用 apache poi 在 excel 文件中设置页面 View 模式

标签 java excel apache-poi xssf hssf

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/

相关文章:

java - 在 JAVA 中使用 Apache POI 格式化 Excel 电子表格

java - 如何使用 apache poi 计算 docx 中的 =SUM(Above) 函数

Maven项目中的java.lang.NoSuchMethodError : org. w3c.tidy.Tidy.setHideComments错误

string - 空格不是字符串上的空格

excel - 如何从 Excel VBA 中的模块调用此工作簿中的方法?

sql-server - 使用 SSIS 将 SQL 导出到 Excel (xlsx)?

java - 如何获取特定列中使用的行数

java - 为什么Java不使用ArrayList类来实现Hashtable/HashMap类?

java - 使用 Java 或 Groovy 为 SQLite 编写用户定义的 SQL 函数?

java - 添加到大型 Java 集合,性能瓶颈