java 页眉页脚_Java 添加Excel页眉页脚

Excel中的页眉或页脚仅在页面布局模式和打印预览模式才可见。我们可以在页眉页脚位置添加页码、工作表名、日期、文字、图片等信息。本文将通过Java代码示例来介绍页眉页脚的添加方法。

使用工具:

Free Spire.XLS for Java(免费版)

注:通过官网

e62e01e06412c6b3986904abdb9c542c.png

另外,Spire.XLS提供了以下脚本语言来动态显示内容,如当前页码、总页数、日期、工作表名等,以及对文本进行格式化操作。

脚本

描述

&P

当前页码

&N

总页码

&D

当前数据

&T

当前时间

&G

图片

&A

工作表名

&F

文件名

&B

加粗文本

&I

倾斜文本

&U

本文下划线

&"font name"

字体名称,如“

&"Aril"

&font size

字号大小,如“

&12

&K

字体颜色,如“

&KFF0000

Java 代码示例

import com.spire.xls.*;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

public class AddHeaderFooter {

public static void main(String[] args) throws IOException {

//新建Excel workbook

Workbook wb= new Workbook();

//获取第一个工作表

Worksheet sheet = wb.getWorksheets().get(0);

//添加数据到单元格

sheet.getCellRange("A1").setText("Page 1");

sheet.getCellRange("J1").setText("Page 2");

//设置图片页眉

String imageFile = "tp.png";

BufferedImage image = ImageIO.read( new File(imageFile));//加载图片

sheet.getPageSetup().setLeftHeaderImage(image);//居左图片页眉

sheet.getPageSetup().setLeftHeader("&G");//添加图片

sheet.getPageSetup().setLeftHeaderPictureHeight(55);//设置页眉图片高度

sheet.getPageSetup().setLeftHeaderPictureWidth(70);//设置页眉图片宽度

//设置文字页眉

sheet.getPageSetup().setCenterHeader("&\"Arial\"&12&B&KFF0000 四川文化日志");//居中页眉,可通过脚本设置字体、颜色、大小等

//设置页脚

sheet.getPageSetup().setCenterFooter("解释权归本司所有");//设置普通文本页脚,不通过脚本设置时,生成默认的文本内容

sheet.getPageSetup().setRightFooter("&P/&N");//添加页码到页脚,页码内容居右

//设置显示样式

sheet.setViewMode(ViewMode.Layout);

//如需要设置奇偶数页不同的页眉页脚,可通过以下方法设置

/*sheet.getPageSetup().setOddHeaderString("奇数页眉");

sheet.getPageSetup().setEvenHeaderString("偶数页眉");

sheet.getPageSetup().setOddFooterString("奇数页脚");

sheet.getPageSetup().setEvenFooterString("偶数页脚");*/

//保存文档

wb.saveToFile("AddHeaderFooter.xlsx", ExcelVersion.Version2010);

wb.dispose();

}

}

页眉添加效果:

245f8b915c740e69947157ec595432bb.png

页脚添加效果:

5c399acad28120302b905dc870cc2bd9.png

poi-tl 是一个基于 Apache POI 库的 Java 模板引擎,可以用于生成 Word、Excel、PowerPoint 等文件。如果你想要在 Word 中添加页眉页脚,可以通过 poi-tl 实现。 首先,需要在 Word 模板中设置页眉页脚的样式。然后,在 Java 代码中使用 poi-tl 加载 Word 模板,替换模板中的变量,最后输出 Word 文件。 以下是一个示例代码,可以将页眉中的变量 `${header}` 替换为 "这是页眉",将页脚中的变量 `${footer}` 替换为 "这是页脚": ```java XWPFTemplate template = XWPFTemplate.compile("template.docx").render( new HashMap<String, Object>() {{ put("header", "这是页眉"); put("footer", "这是页脚"); }} ); // 设置页眉页脚 CTSectPr sectPr = template.getDocument().getDocument().getBody().getSectPr(); if (sectPr == null) { sectPr = template.getDocument().getDocument().getBody().addNewSectPr(); } CTHeaderFooterPolicy policy = sectPr.addNewPgMar().addNewHeaderFooter(); policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT, new XWPFParagraph(new XWPFRun(), template.getDocument())); policy.createFooter(XWPFHeaderFooterPolicy.DEFAULT, new XWPFParagraph(new XWPFRun(), template.getDocument())); policy.getHeader().getParagraphs().get(0).createRun().setText("${header}"); policy.getFooter().getParagraphs().get(0).createRun().setText("${footer}"); template.write(new FileOutputStream("output.docx")); template.close(); ``` 注意,以上代码仅供参考,具体实现方式可能因版本变化而略有不同,建议查阅 poi-tl 的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值