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文檔添加頁眉頁腳,同時,對於一些個性化的需求,我們也可以為奇偶頁添加不同的頁眉頁腳、為首頁和其他頁添加不同頁眉頁腳、文字格式化(如,設置字體、字號、字體顏色等)操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM