C# 如何添加Excel页眉页脚(图片、文字、奇偶页不同)
简介
我们可以通过代码编程来对Excel工作表实现很多操作,在下面的示例中,将介绍如何来添加Excel页眉、页脚。在页眉处,我们可以添加文字,如公司名称、页码、工作表名、日期等,也可以添加图片,如LOGO、标记等,页脚同理。另外,对于一些个性化的需求,我们也可以设置奇偶页页眉页脚不同、文字格式化(如,设置字体、字号、字体颜色、字体加粗等)操作。
示例所用工具:
- Free Spire.XLS for .NET 8.3 (社区版)
- Visual Studio
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页眉页脚(图片、文字、奇偶页不同)的更多相关文章
- Word页眉实现首页不同、奇偶页不同 、更改页眉横线、页眉文字对齐 -- 视频教程(8)
1. 目标 目标1:实现页眉"首页不同,奇偶页不同" 目标2:更改页眉横线 目标3:页眉文字有三部分:第一部分左对齐,第二部分居中,第三部分右对齐 2. 教程 未完 ...... ...
- java操作pdf添加页眉条码添加水印图片
添加条码页眉以及图片水印 1. 引入jar包 1. itext-4.2.1.jar 2. itext-asian-5.2.0.jar 3. jbarcode-0.2.8.jar ...
- Word 页眉插入自动标题(页眉显示章节标题)
做word文档时有时候需要将章节标题加到页眉中,这里实现自动获取和自动更新页眉里面的标题 1.双击页眉,输入固定文字作为页眉左边的显示,然后敲2下table键,为接下来插入自动标题做好准备,如下图: ...
- itext 生成pdf文件添加页眉页脚
原文来自:https://www.cnblogs.com/joann/p/5511905.html 我只是记录所有jar版本,由于版本冲突及不兼容很让人头疼的,一共需要5个jar, 其中itextpd ...
- iText + Freemarker实现pdf的导出,支持中文、css以及图片,页眉页脚,页眉添加图片
本文为了记录自己的实现过程,具体的实现步骤是参考博文 https://www.cnblogs.com/youzhibing/p/7692366.html 来实现的,只是在他的基础上添加了页眉页脚及页眉 ...
- Java 添加Word页眉、页脚
本篇文章将介绍通过java程序来添加Word页眉页脚的方法.鉴于在不同文档中,对页眉页脚的操作要求不同,文章将分别从以下几种情况来阐述: 1.添加页眉页脚 添加图片到页眉 添加文本到页眉 添加页码 2 ...
- ABBYY FineReader 15 如何为PDF文档添加页眉页脚
页眉.页脚是文档页面顶部或底部重复出现的文本信息.很多用户会习惯在文档页面的顶部与底部区域添加页眉.页脚来展现页码.文档标题.作者姓名.品牌名称等附加信息.而ABBYY FineReader 15(W ...
- C#给PDF文档添加文本和图片页眉
页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...
- C#添加PDF页眉——添加文本、图片到页眉
页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...
- word页眉添加横线与删除横线
一.删除横线 1.打开已有页眉Word2010文档,并且页眉有横线的,双击页眉 2.选中整个页眉段落,注意:一定要选择段落标记. 3.单击菜单“开始”功能模块. 4.在“段落”中单击边框线下三角按钮. ...
随机推荐
- Trie树详解及其应用
一.知识简介 最近在看字符串算法了,其中字典树.AC自动机和后缀树的应用是最广泛的了,下面将会重点介绍下这几个算法的应用. 字典树(Trie)可以保存一些字符串->值的对 ...
- Java Bloom filter几种实现比较
英文原始出处: Bloom filter for Scala, the fastest for JVM 本文介绍的是用Scala实现的Bloom filter. 源代码在github上.依照性能测试结 ...
- 超有料丨小白如何成功逆袭为年薪30万的Web安全工程师
今天的文章是一篇超实用的学习指南,尤其是对于即将毕业的学生,新入职场的菜鸟,对Web安全感兴趣的小白,真的非常nice,希望大家能够好好阅读,真的可以让你少走很多弯路,至少年薪30万so easy! ...
- [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 ...
- ELK之filebeat、logstash多个topic配置
启动多个进程收集日志.直接output到kafka,output到不同的topiccat filebeat.ymlfilebeat.prospectors:- input_type: log path ...
- python-正则表达式练习
1.匹配普通URL ^(http://)([a-z]+)\.([a-z]+)\.(com|cn|net|edu)(/(\w)+)+(.+) 2.匹配type返回的字符串中的类型 import re r ...
- Jedis与Luttuce区别
如果你在网上搜索Redis 的Java客户端,你会发现,大多数文献介绍的都是 Jedis. 不可否认,Jedis是一个优秀的基于Java语言的Redis客户端. 但是,其不足也很明显:Jedis在实现 ...
- 分布式事务之如何基于RocketMQ的事务消息特性实现分布式系统的最终一致性?
导读 在之前的文章中我们介绍了如何基于RocketMQ搭建生产级消息集群,以及2PC.3PC和TCC等与分布式事务相关的基本概念(没有读过的读者详见
- Cassandra与Mongo的事务实现之分布式协议
摘要 NoSql不同于关系型数据库,是分布式存储,因此想要实现关系型数据库中的事务就不是那么简单了.本文结合Cassandra中的paxos和Mongo的two phase commit来谈谈Nosq ...
- python获取当前路径
python获取当前执行命令的路径: #!/usr/bin/env python # -*# coding: utf-8 -*- import os print os.getcwd() python获 ...