本文介绍通过Java 程序在Excel表格中设置页面背景的方法,可设置颜色背景(即指定单一颜色作为背景色)、图片背景(即加载图片设置成页面背景)。程序中需要使用免费版Excel类库工具Free Spire.XLS for Java来辅助实现,先下载并导入jar文件,可分以下两种方法来导入:
导入方法1:下载jar包,解压到指定本地路径,完成解压后,找到文件夹lib下的jar文件将其手动导入Java程序;
导入方法2:在maven程序中需要先配置Pom.xml文件,指定maven路径及spire.xls.free的依赖,如下:
<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>3.9.1</version>
</dependency>
</dependencies>
注意:
1. 带free字样才是免费版,同时注意版本号是否正确;
2. 另外,在IDEA 和Eclipse中的导入方法略微有所差异,可参考官方教程,这里不做赘述。
Java 代码示例
import com.spire.xls.*;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class AddBackground {
public static void main(String[] args)throws IOException {
//加载Excel测试文档
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx");
//获取第一张工作表,设置背景颜色
Worksheet sheet = wb.getWorksheets().get(0);
sheet.getAllocatedRange().getStyle().setColor(new Color(255,239,213));//给工作表中已使用的单元格区域设置背景颜色
//sheet.getCellRange("A1:E19").getStyle().setColor(new Color(176,224,230));//给指定单元格区域设置背景颜色
//获取第二张工作表,设置背景图片
Worksheet sheet1 = wb.getWorksheets().get(1);
BufferedImage image = ImageIO.read( new File("background.png"));
sheet1.getPageSetup().setBackgoundImage(image);
//保存文档
wb.saveToFile("Background.xlsx", ExcelVersion.Version2013);
wb.dispose();
}
}
背景颜色效果:
背景图片效果: