Apache POI Excel:页面设置与页边距对齐

时间:2017-03-15 17:59:03

标签: java excel apache-poi

我有用于Excel文件操作的Apache POI API。 Excel文件由Jasper Report生成。 Jasper Report生成的Excel很好。我想要的是Jasper Report不支持的一些额外的东西。喜欢添加打印页面设置 - 页眉和页脚的东西。我忽略了每个Excel页面上的边框边距。但是当我添加页眉和页脚时,它们会打印出一些边距。然后观察到MS Excel上的页面设置页面上有一个复选框。

enter image description here

此处Align with page margins复选框控制页眉和页脚上的边距。如果选中此复选框,则它将与excel页面具有相同的边距。

问题:如何从Apache POI控制此复选框字段?

1 个答案:

答案 0 :(得分:1)

此功能尚未浮出水面。但是,在XSSF文件格式中,您可以使用CT类来获取它。我会从这里开始:

Sheet sh = wb.createSheet();
HeaderFooter header = sh.getHeader();
XSSFHeaderFooter xhd = (XSSFHeaderFooter) header;
CTHeaderFooter ctHd = xhd.getHeaderFooter();
ctHd.setAlignWithMargins(true);

这仅适用于XLSX文件,我不知道如何使用XLS文件。注意我从通用工作簿,工作表和标题开始。但随后将其转换为XSSF Header以获取基础CT类。您可以使用XSSF类编写整个应用程序,而不必使用XSSFHeaderFooter xhd = (XSSFHeaderFooter) header;