简介

我们可以通过代码编程来对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. IntelliJ IDEA配置Tomcat和Lombok

    Tomcat的安装和配置 Tomcat 是在SUN公司的JSWDK(JavaServer Web DevelopmentKit)的基础上发展而来的一个优秀的Servlet容器,其本身完全是由Java编 ...

  2. java中List<Map<String, Object>>关于null的判断

    List<Map<String, Object>> selectTmFileInfo = fileInfoService.selectTmFileInfoByToken(cTo ...

  3. android利用ContentResolver访问者获取手机联系人信息

    转载自:http://www.jb51.net/article/106379.htm 首先需要在AndroidManifest.xml文件中添加权限: <uses-permission andr ...

  4. CoreProfiler升级到.NetStandard 2.0

    致所有感兴趣的朋友: CoreProfiler和相应的Sample项目cross-app-profiling-demo都已经升级到.NetStandrard 2.0和.NetCore 2.0. 有任何 ...

  5. 【安富莱专题教程第7期】终极调试组件Event Recorder,各种Link通吃,支持时间和功耗测量,printf打印,RTX5及中间件调试

    说明:1.继前面的专题教程推出SEGGER的RTT,JScope,Micrium的uC/Probe之后,再出一期终极调试方案Event Recoder,之所以叫终极解决方案,是因为所有Link通吃.  ...

  6. idea 启动调试模式总提示端口58346被占用问题

    在开发的时候,莫名其妙没法用jrebel调试模式启动了tomcat了,最开始以为是后台端口占用问题,然而把后台java程序全部关了都没用.仔细排查,根据提示发现是端口58346被占用了, 于是便在 w ...

  7. [Swift]LeetCode730. 统计不同回文子字符串 | Count Different Palindromic Subsequences

    Given a string S, find the number of different non-empty palindromic subsequences in S, and return t ...

  8. 《关于长沙.NET技术社区未来发展规划》问卷调查结果公布

    那些开发者们对于社区的美好期待 2月,长沙.net 技术社区自从把群拉起来开始,做了一次比较正式.题目为<关于长沙.NET技术社区未来发展规划>的问卷调查,在问卷调查中,溪源写道: 随着互 ...

  9. 【tiles】简单使用总结

    一.简介 tiles是一种JSP布局框架,主要目的是为了将复杂的JSP页面作为一个页面的部分机能,然后组合成一个最终的页面,这种做法便于对各个页面机能的变更和维护,减少代码量,实现代码的重用. til ...

  10. React 中的key值

    在react中必须要有key值,key不是用来提升react的性能的,react中的key属性,它是一个特殊的属性,它是出现不是给开发者用的(例如你为一个组件设置key之后不能获取组件的这个key p ...