[]
在 GcExcel Java 中, 你可以用 IPageSetup 接口的 setLeftHeader, setRightHeader, setLeftFooter, setRightFooter, setCenterHeader 和 setCenterFooter 方法来配置页面的页眉和页脚。
// Configure PageHeader and PageFooter
// Set header for the page
worksheet.getPageSetup().setLeftHeader("&\"Arial,Italic\"LeftHeader");
worksheet.getPageSetup().setCenterHeader("&P");
// Set header and footer graphic for the page
worksheet.getPageSetup().setCenterFooter("&G");
InputStream stream = ClassLoader.getSystemResourceAsStream("logo.png");
worksheet.getPageSetup().getCenterFooterPicture().setGraphicStream(stream, ImageType.PNG);
对于特殊设置,您还可以执行以下任务以自定义页面页眉和页脚的配置:
如果希望在第一页中使用不同的页眉和页脚,首先需要将 IPageSetup 接口的 setDifferentFirstPageHeaderFooter 方法设置为 true。完成此操作后,可以使用 IPageSetup 接口的方法来配置第一页的页眉和页脚。
//Set first page header and footer
worksheet.getPageSetup().setDifferentFirstPageHeaderFooter(true);
worksheet.getPageSetup().getFirstPage().getCenterHeader().setText("&T");
worksheet.getPageSetup().getFirstPage().getRightFooter().setText("&D");
//Set first page header and footer graphic
worksheet.getPageSetup().getFirstPage().getLeftFooter().setText("&G");
InputStream stream = ClassLoader.getSystemResourceAsStream("logo.png");
worksheet.getPageSetup().getFirstPage().getLeftFooter().getPicture().setGraphicStream(stream, ImageType.PNG);
worksheet.getPageSetup().getFirstPage().getLeftFooter().getPicture().setWidth(100);
worksheet.getPageSetup().getFirstPage().getLeftFooter().getPicture().setHeight(13);
如果要为所有偶数页使用不同的页眉和页脚,首先需要将 setOddAndEvenPagesHeaderFooter 方法设置为 true。完成此操作后,可以使用 IPageSetup 界面的其他方法来配置偶数页眉和页脚。
// Set even page header and footer
worksheet.getPageSetup().setOddAndEvenPagesHeaderFooter(true);
worksheet.getPageSetup().getEvenPage().getCenterHeader().setText("&T");
worksheet.getPageSetup().getEvenPage().getRightFooter().setText("&D");
// Set even page header and footer graphic
worksheet.getPageSetup().getEvenPage().getLeftFooter().setText("&G");
InputStream stream = ClassLoader.getSystemResourceAsStream("logo.png");
worksheet.getPageSetup().getEvenPage().getLeftFooter().getPicture().setGraphicStream(stream, ImageType.PNG);
在自定义页眉和页脚中进行页码和总页数计算时,GcExcel 支持加法(+)和减法(-)运算符。这些运算符在所有遵循自定义页眉和页脚的分页输出中均起作用,这些输出可通过 IWorksheet 接口的 getPageSetup 方法获取,例如 PDF 以及打印到物理打印机的操作。
GcExcel 支持以下用于页码和总页数计算的公式:
公式 | 说明 |
---|---|
&P+数字 | 打印页码加上指定数字。 |
&P-数字 | 打印页码减去指定数字。 |
&N+数字 | 打印总页数加上指定数字。 |
&N-数字 | 打印总页数减去指定数字。 |
注意:“数字” 可以是任意 32 位正整数。
// 创建一个新工作簿。
var workbook = new Workbook();
// 打开 Excel 文档。
workbook.open("PageSetup Demo.xlsx");
// 访问第一个工作表。
IWorksheet worksheet = workbook.getWorksheets().get(0);
// 设置页面页眉页脚。
/* 使用 &P+1 显示页码加一。
使用 &N+1 显示总页数加一。 */
worksheet.getPageSetup().setRightHeader("页眉示例 &P+1 of &N+1");
worksheet.getPageSetup().setRightFooter("页脚示例 &P+2 of &N+2");
worksheet.getPageSetup().customPaperSize(8.5, 6);
// 将工作簿保存为 PDF 文档。
workbook.save("ConfigHeaderFooterPageNumberCalc.pdf");