简介

我们可以通过代码编程来对Excel工作表实现很多操作,在下面的示例中,将介绍如何来添加Excel页眉、页脚。在页眉处,我们可以添加文字,如公司名称、页码、工作表名、日期等,也可以添加图片,如LOGO、标记等,页脚同理。另外,对于一些个性化的需求,我们也可以设置奇偶页页眉页脚不同、文字格式化(如,设置字体、字号、字体颜色、字体加粗等)操作。

示例所用工具:

PS:Spire.XLS提供了以下特殊脚本语言来动态地显示内容,如当前页码、总页数、日期、工作表名等,同时也可以用对文本进行格式化操作。

脚本

描述

&P

The current page number 当前页数

&N

The total number of pages 总页数

&D

The current data 当前数据

&T

The current time 当前日期

&G

A picture 图片

&A

The worksheet name 工作表名

&F

The file name 文件名

&B

Make text bold 文本加粗

&I

Italicize text 文本倾斜

&U

Underline text 文本下划线

&"font name"

Represents a font name, for example, &"Aril" 字体名称

&font size

Represents font size, for example, &12 字体大小

&K<HEX color>

Represents font color, for example, &KFF0000 字体颜色

示例代码(供参考)

 

1. 插入页眉页脚

C#

步骤1:创建一个Workbook,加载文档

Workbook wb = new Workbook();
wb.LoadFromFile("test.xlsx");

步骤2:获取第一个工作表

Worksheet sheet = wb.Worksheets[];

步骤3:添加文本到页眉页脚

//设置文本在页眉页脚处的位置
string text1 = sheet.PageSetup.RightHeader;
string text2 = sheet.PageSetup.CenterFooter;
//设置文本字体、字号、颜色等
text1 = "&\"华文琥珀\"&15 & @天府文化传媒 ";
text2 = "&\"Arial Unicode MS\"&9 &KFF0000 注:资料解释权归本公司版权所有 ";

步骤4:应用文本到页眉页脚

sheet.PageSetup.LeftHeader = text1;
sheet.PageSetup.RightFooter = text2;

步骤5: 添加图片到页眉页脚

//加载图片,并设置图片大小
Image image = Image.FromFile("logo.png");
Bitmap bitmap = new Bitmap(image, new Size(image.Width / , image.Height / )); //添加图片到页眉右边的单元格
sheet.PageSetup.RightHeaderImage = bitmap;
sheet.PageSetup.RightHeader = "&G";

步骤6: 保存文档

wb.SaveToFile("页眉页脚.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("页眉页脚.xlsx");

添加效果:

页眉:

页脚:

全部代码:

using Spire.Xls;
using System.Drawing;
using System.IO; namespace InsertHeader_XLS
{
class Program
{
static void Main(string[] args)
{
//创建一个Workbook,加载文档
Workbook wb = new Workbook();
wb.LoadFromFile("test.xlsx");
//获取第一个工作表
Worksheet sheet = wb.Worksheets[]; //添加文本到页眉、页脚
string text1 = sheet.PageSetup.RightHeader;
string text2 = sheet.PageSetup.CenterFooter;
//设置文本字体、字号、颜色等
text1 = "&\"华文琥珀\"&15 & @天府文化传媒 ";
text2 = "&\"Arial Unicode MS\"&9 &KFF0000 注:资料解释权归本公司版权所有 "; //应用文本到页眉、页脚
sheet.PageSetup.LeftHeader = text1;
sheet.PageSetup.RightFooter = text2; //加载图片,并设置图片大小
Image image = Image.FromFile("logo.png");
Bitmap bitmap = new Bitmap(image, new Size(image.Width / , image.Height / )); //添加图片到页眉右边的单元格
sheet.PageSetup.RightHeaderImage = bitmap;
sheet.PageSetup.RightHeader = "&G"; //保存并打开文档
wb.SaveToFile("页眉页脚.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("页眉页脚.xlsx"); }
}
}

2. 设置奇偶页不同页眉页脚

步骤1:创建工作簿,获取工作表

Workbook wb = new Workbook();
Worksheet sheet = wb.Worksheets[];

步骤2:添加文本到指定单元格,生成文档

sheet.Range["A1"].Text = "第一页";
sheet.Range["K1"].Text = "第二页";

步骤3:设置属性值

//将DifferentOddEven的值设为1, 表示奇数页和偶数页可以分别设置页眉页脚
sheet.PageSetup.DifferentOddEven = ;

步骤4:添加页眉页脚

//设置奇数页页眉页脚,并设置文本格式
sheet.PageSetup.OddHeaderString = "&\"Arial\"&12 &B &K000000奇数_页眉";
sheet.PageSetup.OddFooterString = "&\"Arial\"&12 &B &K000000奇数_页脚"; //设置偶数页页眉页脚,并设置文本格式
sheet.PageSetup.EvenHeaderString = "&\"Arial\"&12 &B &K000000偶数_页眉";
sheet.PageSetup.EvenFooterString = "&\"Arial\"&12 &B &K000000偶数_页脚";

步骤5: 保存文件

wb.SaveToFile("奇偶页眉页脚.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("奇偶页眉页脚.xlsx");

添加效果:

页眉

页脚效果:

全部代码:

using Spire.Xls;

namespace InsertHeaderFooter2_XLS
{
class Program
{
static void Main(string[] args)
{
//创建一个Workbook
Workbook wb = new Workbook(); //获取第一个工作表
Worksheet sheet = wb.Worksheets[]; //添加文本到A1(生成第一页)
sheet.Range["A1"].Text = "第一页"; //添加文本到K1(生成第二页)
sheet.Range["K1"].Text = "第二页"; //将DifferentOddEven的值设为1, 表示奇数页和偶数页可以分别设置页眉页脚
sheet.PageSetup.DifferentOddEven = ; //设置奇数页页眉页脚,并设置文本格式
sheet.PageSetup.OddHeaderString = "&\"Arial\"&12 &B &K000000奇数_页眉";
sheet.PageSetup.OddFooterString = "&\"Arial\"&12 &B &K000000奇数_页脚"; //设置偶数页页眉页脚,并设置文本格式
sheet.PageSetup.EvenHeaderString = "&\"Arial\"&12 &B &K000000偶数_页眉";
sheet.PageSetup.EvenFooterString = "&\"Arial\"&12 &B &K000000偶数_页脚"; //保存并打开文档
wb.SaveToFile("奇偶页眉页脚.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("奇偶页眉页脚.xlsx");
}
}
}

注意:Excel页眉或页脚在普通浏览模式下不可见,它们仅仅在页面布局模式或者打印预览模式才可见。

以上全部为本次关于C#添加Excel页眉、页脚的内容。

感谢阅读!

(如需转载,请注明出处!)

C# 如何添加Excel页眉页脚(图片、文字、奇偶页不同)的更多相关文章

  1. Word页眉实现首页不同、奇偶页不同 、更改页眉横线、页眉文字对齐 -- 视频教程(8)

    1. 目标 目标1:实现页眉"首页不同,奇偶页不同" 目标2:更改页眉横线 目标3:页眉文字有三部分:第一部分左对齐,第二部分居中,第三部分右对齐 2. 教程 未完 ...... ...

  2. java操作pdf添加页眉条码添加水印图片

    添加条码页眉以及图片水印 1. 引入jar包     1. itext-4.2.1.jar     2. itext-asian-5.2.0.jar     3. jbarcode-0.2.8.jar ...

  3. Word 页眉插入自动标题(页眉显示章节标题)

    做word文档时有时候需要将章节标题加到页眉中,这里实现自动获取和自动更新页眉里面的标题 1.双击页眉,输入固定文字作为页眉左边的显示,然后敲2下table键,为接下来插入自动标题做好准备,如下图: ...

  4. itext 生成pdf文件添加页眉页脚

    原文来自:https://www.cnblogs.com/joann/p/5511905.html 我只是记录所有jar版本,由于版本冲突及不兼容很让人头疼的,一共需要5个jar, 其中itextpd ...

  5. iText + Freemarker实现pdf的导出,支持中文、css以及图片,页眉页脚,页眉添加图片

    本文为了记录自己的实现过程,具体的实现步骤是参考博文 https://www.cnblogs.com/youzhibing/p/7692366.html 来实现的,只是在他的基础上添加了页眉页脚及页眉 ...

  6. Java 添加Word页眉、页脚

    本篇文章将介绍通过java程序来添加Word页眉页脚的方法.鉴于在不同文档中,对页眉页脚的操作要求不同,文章将分别从以下几种情况来阐述: 1.添加页眉页脚 添加图片到页眉 添加文本到页眉 添加页码 2 ...

  7. ABBYY FineReader 15 如何为PDF文档添加页眉页脚

    页眉.页脚是文档页面顶部或底部重复出现的文本信息.很多用户会习惯在文档页面的顶部与底部区域添加页眉.页脚来展现页码.文档标题.作者姓名.品牌名称等附加信息.而ABBYY FineReader 15(W ...

  8. C#给PDF文档添加文本和图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...

  9. C#添加PDF页眉——添加文本、图片到页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...

  10. word页眉添加横线与删除横线

    一.删除横线 1.打开已有页眉Word2010文档,并且页眉有横线的,双击页眉 2.选中整个页眉段落,注意:一定要选择段落标记. 3.单击菜单“开始”功能模块. 4.在“段落”中单击边框线下三角按钮. ...

随机推荐

  1. Trie树详解及其应用

    一.知识简介        最近在看字符串算法了,其中字典树.AC自动机和后缀树的应用是最广泛的了,下面将会重点介绍下这几个算法的应用.      字典树(Trie)可以保存一些字符串->值的对 ...

  2. Java Bloom filter几种实现比较

    英文原始出处: Bloom filter for Scala, the fastest for JVM 本文介绍的是用Scala实现的Bloom filter. 源代码在github上.依照性能测试结 ...

  3. 超有料丨小白如何成功逆袭为年薪30万的Web安全工程师

    今天的文章是一篇超实用的学习指南,尤其是对于即将毕业的学生,新入职场的菜鸟,对Web安全感兴趣的小白,真的非常nice,希望大家能够好好阅读,真的可以让你少走很多弯路,至少年薪30万so easy! ...

  4. [Swift]LeetCode34. 在排序数组中查找元素的第一个和最后一个位置 | Find First and Last Position of Element in Sorted Array

    Given an array of integers nums sorted in ascending order, find the starting and ending position of ...

  5. ELK之filebeat、logstash多个topic配置

    启动多个进程收集日志.直接output到kafka,output到不同的topiccat filebeat.ymlfilebeat.prospectors:- input_type: log path ...

  6. python-正则表达式练习

    1.匹配普通URL ^(http://)([a-z]+)\.([a-z]+)\.(com|cn|net|edu)(/(\w)+)+(.+) 2.匹配type返回的字符串中的类型 import re r ...

  7. Jedis与Luttuce区别

    如果你在网上搜索Redis 的Java客户端,你会发现,大多数文献介绍的都是 Jedis. 不可否认,Jedis是一个优秀的基于Java语言的Redis客户端. 但是,其不足也很明显:Jedis在实现 ...

  8. 分布式事务之如何基于RocketMQ的事务消息特性实现分布式系统的最终一致性?

    导读 在之前的文章中我们介绍了如何基于RocketMQ搭建生产级消息集群,以及2PC.3PC和TCC等与分布式事务相关的基本概念(没有读过的读者详见

  9. Cassandra与Mongo的事务实现之分布式协议

    摘要 NoSql不同于关系型数据库,是分布式存储,因此想要实现关系型数据库中的事务就不是那么简单了.本文结合Cassandra中的paxos和Mongo的two phase commit来谈谈Nosq ...

  10. python获取当前路径

    python获取当前执行命令的路径: #!/usr/bin/env python # -*# coding: utf-8 -*- import os print os.getcwd() python获 ...