Java 插入Excel页眉、页脚
前言
在Excel文档中,我们常用页眉页脚来显示文档的附加信息,例如日期、公司名称、Logo或作者信息等。本文将通过Java程序来介绍如何给Excel文档添加页眉页脚。代码示例主要从以下几方面来演示添加方法。
- 添加页眉页脚(文本、图片)
- 为奇偶页添加不同的页眉页脚
- 为首页和其他页添加不同的页眉页脚
在运行代码前,需要添加Jar包到IDEA中。添加方法有两种:其一,在官网上下载Free Spire.XLS for Java产品包,解压后找到lib文件夹下的Spire.Xls.jar,然后手动将其导入IDEA中即可;其二(推荐使用),通过Maven仓库安装导入产品及依赖。创建一个Maven项目,在pom.xml文件中输入以下代码,然后点击“Import Changes”即可。
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>2.2.0</version>
</dependency>
</dependencies>
代码示例
【示例1】添加页眉、页脚(文本、图片)
Free Spire.XLS for Java支持添加文本、图片到页眉页脚。其中可设置添加位置(靠左、居中、靠右)及文本的字体、字号、颜色等。另外,还需注意Excel页眉或页脚在普通浏览模式下不可见,它们仅在页面布局模式或者打印预览模式才可见。
1 import com.spire.xls.*;
2 import javax.imageio.ImageIO;
3 import java.awt.image.BufferedImage;
4 import java.io.*;
5
6 public class HeaderFooter {
7 public static void main(String[] args) throws IOException {
8 //加载Excel示例文档
9 Workbook workbook= new Workbook();
10 workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\Test.xlsx");
11
12 //获取第一个工作表
13 Worksheet Worksheet = workbook.getWorksheets().get(0);
14
15 //添加文本到页眉页脚,并设置其字体、字号、颜色和位置
16 Worksheet.getPageSetup().setRightHeader("&\"微软雅黑\"&14 腾飞广告有限公司");
17 Worksheet.getPageSetup().setRightFooter("&\"微软雅黑\"&12&B&KFF0000 注:仅用于内部员工查看");
18 //加载图片
19 BufferedImage image = ImageIO.read( new File("C:\\Users\\Test1\\Desktop\\Image.png"));
20
21 //添加图片到页眉,并设置位置
22 Worksheet.getPageSetup().setLeftHeaderImage(image);
23 Worksheet.getPageSetup().setLeftHeader("&G");
24 //添加图片到页脚
25 //Worksheet.getPageSetup().setCenterFooterImage(image);
26 //Worksheet.getPageSetup().setCenterFooter("&G");
27
28 //设置显示样式
29 Worksheet.setViewMode(ViewMode.Layout);
30
31 //保存文档
32 workbook.saveToFile("output/HeaderFooter.xlsx", ExcelVersion.Version2010);
33 }
34 }
添加效果

【示例2】为奇偶页添加不同的页眉页脚
Free Spire.XLS for Java提供了setDifferentOddEven方法来为Excel文档中的奇偶页添加不同的页眉页脚。在添加的同时,可设置文本字体、字号和颜色。
1 import com.spire.xls.*;
2 public class DifferentHeaderFooter {
3 public static void main(String[] args) {
4
5 //加载Excel示例文档
6 Workbook workbook = new Workbook();
7 workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\Test.xlsx");
8
9 //获取第一个工作表
10 Worksheet worksheet = workbook.getWorksheets().get(0);
11
12 //设置第一页,第二页
13 worksheet.getCellRange("A1").setText("");
14 worksheet.getCellRange("M1").setText("第二页");
15
16 //将setDifferentOddEven的值设为1, 表示奇数页和偶数页可以分别设置页眉页脚
17 worksheet.getPageSetup().setDifferentOddEven((byte)1);
18
19 //设置奇数页及偶数页页眉页脚,样式和颜色
20 worksheet.getPageSetup().setOddHeaderString( "&\"Arial\"&20&B&K191970 奇数_页眉");
21 worksheet.getPageSetup().setOddFooterString ( "&\"Arial\"&20&B&K191970 奇数_页脚");
22 worksheet.getPageSetup().setEvenHeaderString ( "&\"Arial\"&20&B&KFF0000 偶数_页眉");
23 worksheet.getPageSetup().setEvenFooterString ( "&\"Arial\"&20&B&KFF0000 偶数_页脚");
24
25 //设置显示样式
26 worksheet.setViewMode(ViewMode.Layout);
27
28 //保存文档
29 workbook.saveToFile("output/DifferentHeaderFooter.xlsx", ExcelVersion.Version2010);
30 }
31 }
添加效果

【示例3】为首页和其他页添加不同的页眉页脚
1 import com.spire.xls.*;
2 public class DifferentHeaderFooterOnFirstPage {
3 public static void main(String[] args) {
4 //加载Excel示例文档
5 Workbook workbook = new Workbook();
6 workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\Test.xlsx");
7 //获取第一个工作表
8 Worksheet worksheet = workbook.getWorksheets().get(0);
9
10 //设置第一页,第二页
11 worksheet.getCellRange("A1").setText("");
12 worksheet.getCellRange("M1").setText("第二页");
13
14 //将setDifferentFirst的值设为1,表示第一页和其他页可分别设置页眉页脚
15 worksheet.getPageSetup().setDifferentFirst((byte)1);
16
17 //设置第一页页眉页脚,样式和颜色
18 worksheet.getPageSetup().setFirstHeaderString("&\"Arial\"&B&20&KFF0000第一页_页眉");
19 worksheet.getPageSetup().setFirstFooterString("&\"Arial\"&B&20&KFF0000第一页_页脚");
20
21 //设置其他页的页眉页脚,样式和颜色
22 worksheet.getPageSetup().setCenterHeader("&\"Arial\"&B&20&K191970其它页_页眉");
23 worksheet.getPageSetup().setCenterFooter("&\"Arial\"&B&20&K191970其它页_页眉");
24
25 //保存文档
26 workbook.saveToFile("output/DifferentHeaderFooterOnFirstPage.xlsx", ExcelVersion.Version2013);
27 }
28 }
添加效果

总结
通过以上代码示例,我们可以成功地为Excel文档添加页眉页脚,同时,对于一些个性化的需求,我们也可以为奇偶页添加不同的页眉页脚、为首页和其他页添加不同页眉页脚、文字格式化(如,设置字体、字号、字体颜色等)操作。
Java 插入Excel页眉、页脚的更多相关文章
- C# 如何添加Excel页眉页脚(图片、文字、奇偶页不同)
简介 我们可以通过代码编程来对Excel工作表实现很多操作,在下面的示例中,将介绍如何来添加Excel页眉.页脚.在页眉处,我们可以添加文字,如公司名称.页码.工作表名.日期等,也可以添加图片,如LO ...
- 使用C#在word中插入页眉页脚
//插入页脚 public void InsertFooter(string footer) { if (ActiveWindow.ActivePane.View.Type == WdViewType ...
- 如何利用API导出带有页眉页脚的excel
在报表中设置的页眉页脚在页面中是看不到的,如下图: 页面中的效果: 在打印的时候,可以看到页眉页脚的效果: 那么,如果将页眉页脚导入到导出的excel中呢.我们可以通过API来进行设置: < ...
- NPOI 表头、页眉页脚重复设置
NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 ...
- C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化
转:http://www.cnblogs.com/lantionzy/archive/2009/10/23/1588511.html 1.新建Word文档 #region 新建Word文档/// &l ...
- 【Itext】7步制作Itext5页眉页脚pdf实现第几页共几页
itext5页眉页脚工具类,实现page x of y 完美兼容各种格式大小文档A4/B5/B3,兼容各种文档格式自动计算页脚XY轴坐标 鉴于没人做的这么细致,自己就写了一个itext5页眉页脚工具类 ...
- ★itext-为pdf文件添加页眉页脚 | 3步完成 |
由于上一篇自定义生成pdf的功能需求又增加了,需要加上页码.所以本博客诞生了~ 1. 通过继承PdfPageEventHelper类,实现需要实现的方法 import com.lowagie.text ...
- Richview 首页 奇偶页 不同页眉页脚
首页 奇偶页 不同页眉页脚 ScaleRichView v6.0 Different headers and footers for the first page, for odd and even ...
- itext 生成pdf文件添加页眉页脚
原文来自:https://www.cnblogs.com/joann/p/5511905.html 我只是记录所有jar版本,由于版本冲突及不兼容很让人头疼的,一共需要5个jar, 其中itextpd ...
- Office WORD如何为每一页设置不同的页眉页脚
如下图所示,我想要为封面和目录,摘要等等设置不同的页眉页脚(一般封面和目录不需要页脚) 而从正文开始,套用相同的页眉和以页数作为页脚(注意"第一章 绪论"不是这个文档的第一页) ...
随机推荐
- DDMS查看Threads情况
有时候程序运行出现死锁或者信号量卡死是很纠结的问题,单看代码很难分析定位问题,这时候可以借助DDMS来查看threads的运行情况,一目了然. 手机连接上USB,确保adb连通,然后启动Eclipse ...
- vue项目使用lodash节流防抖函数问题与解决
背景 在lodash函数工具库中,防抖_.debounce和节流_.throttle函数在一些频繁触发的事件中比较常用. 防抖函数_.debounce(func, [wait=0], [options ...
- 在 Rust 中 gRPC 使用的 protobuf 实现条件编译服务器和客户端(tonic)
前言 Rust 中 gRPC 最优秀的库是 tonic.tonic-build 的默认生成方式是生成一个带有数据类型和客户端与服务端源码,而对于分层应用,客户端尽可能不要知道服务端的代码,同时服务端也 ...
- 【XXE漏洞】原理及实践演示
一.原理 XML是用于传输和存储数据的一种格式,相当于一种信息传输工具,其中包含了XML声明,DTD文档类型定义.文档元素. XXE是xml外部实体注入漏洞,发生在应用程序解析XML输入时,没有禁止外 ...
- CSS之transition属性
1.鼠标移动到div中背景颜色慢慢变化(1个属性的变化) <!DOCTYPE html> <html> <head> <title></title ...
- 回文自动机(PAM) 详解
PAM 是一种高效存储字符串中所有回文子串的自动机,用于解决回文串相关问题. 虽然代码稍微长一点,但写起来比 manacher 容易很多,毕竟没有加了一堆字符再转回原串的若干上取整下取整问题. 前置知 ...
- 3款免费又好用的 Docker 可视化管理工具
前言 Docker提供了命令行工具(Docker CLI)来管理Docker容器.镜像.网络和数据卷等Docker组件.我们也可以使用可视化管理工具来更方便地查看和管理Docker容器.镜像.网络和数 ...
- Mysql数据库查询之模糊查询
一.什么是模糊查询模糊查询是根据一定的模式匹配规则,查找与指定条件相似或相符的数据.二.模糊查询实操通配符查询1.% 表示任意0个或多个字符形式一: select 查询字段 from 表名 where ...
- Android RTL 语言适配
RTL 语言,即 right to left language,也就是右对齐的语言,与一般语言按照左对齐的方式不同,需要进行特别适配. AndroidManifest.xml 文件中,增加 andro ...
- Kubernetes Gateway API 攻略:解锁集群流量服务新维度!
Kubernetes Gateway API 刚刚 GA,旨在改进将集群服务暴露给外部的过程.这其中包括一套更标准.更强大的 API资源,用于管理已暴露的服务.在这篇文章中,我将介绍 Gateway ...