[]
        
立即试用
(Showing Draft Content)

页眉和页脚

在 GcExcel Java 中, 你可以用 IPageSetup 接口的 setLeftHeader, setRightHeader, setLeftFooter, setRightFooter, setCenterHeadersetCenterFooter 方法来配置页面的页眉和页脚。

// 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");

页码计算