C#在Excel表格中插入、编辑和删除批注
作者:E-iceblue 时间:2023-01-12 13:52:20
概述
为文档添加必要的批注可以给文档使用者提供重要的提示信息,下面的示例中,将介绍通过C#编程语言来给Excel表格中的指定单元格内容添加批注,此外,对于已有的批注,如果需要修改,我们也可以进行编辑或者删除批注。示例内容将包含以下主要内容:
1.插入批注
1.1 插入文本
1.2 插入图片
2.编辑批注
2.1 修改批注内容
2.1 设置批注可见性
3.删除批注
工具
Spire.XLS for .NET 8.0
提示:在进行代码操作之前,需下载安装Spire.Xls,并添加引用dll文件,添加如下using指令
using System;
using Spire.Xls;
using System.Drawing;
代码示例(供参考)
1.插入Excel批注
【C#】
步骤1:实例化一个Workbook类实例并加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx");
步骤2:获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
步骤3:插入文本批注
string comment = "注意:\n 责任人兼设备维护人";//设置批注文本
ExcelFont font = workbook.CreateFont();//设置批注字体格式
font.FontName = "Calibri";
font.Color = Color.Black;
font.IsBold = true;
CellRange range = sheet.Range["I3"];//添加批注到指定单元格
range.Comment.RichText.Text = comment;
range.Comment.Width = 200;
range.Comment.Height = 50;
range.Comment.RichText.SetFont(10, 10, font);
步骤4:插入图片批注
//加载图片,将图片插入到指定单元格的批注
Image image = Image.FromFile("logo.png");
sheet.Range["B2"].Comment.Fill.CustomPicture(image, "logo.png");
sheet.Range["B2"].Comment.Height = image.Height;
sheet.Range["B2"].Comment.Width = image.Width;
步骤5:保存文档
workbook.SaveToFile("AddComment.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("AddComment.xlsx");
批注插入效果(如下图):
全部代码:
using System;
using Spire.Xls;
using System.Drawing;
namespace ModifyComment_XLS
{
class Program
{
static void Main(string[] args)
{
//实例化一个Workbook类实例并加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
//设置批注文本
string comment = "注意:\n 责任人兼设备维护人";
//设置批注字体
ExcelFont font = workbook.CreateFont();
font.FontName = "Calibri";
font.Color = Color.Black;
font.IsBold = true;
//添加批注到指定单元格
CellRange range = sheet.Range["I3"];
range.Comment.RichText.Text = comment;
range.Comment.Width = 200;
range.Comment.Height = 50;
range.Comment.RichText.SetFont(10, 10, font);
//加载图片,将图片插入到指定单元格的批注
Image image = Image.FromFile("logo.png");
sheet.Range["B2"].Comment.Fill.CustomPicture(image, "logo.png");
sheet.Range["B2"].Comment.Height = image.Height;
sheet.Range["B2"].Comment.Width = image.Width;
//保存并打开文档
workbook.SaveToFile("AddComment.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("AddComment.xlsx");
}
}
}
2. 修改、隐藏Excel批注
【C#】
步骤1:创建一个Workbook类对象,并加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("AddComment.xlsx");
步骤2:获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
步骤3:修改工作表中的第一个批注
ExcelComment comment0 = workbook.Worksheets[0].Comments[0];
sheet.Comments[0].Text = "This is a new comment";
步骤4:设置批注可见性(隐藏、显示)
//设置指定批注不可见(隐藏)
sheet.Comments[0].IsVisible = true;
//设置指定批注可见(显示)
sheet.Comments[1].IsVisible = false;
步骤5:保存文档
workbook.SaveToFile("ModifyComment.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("ModifyComment.xlsx");
效果图:
全部代码:
using System;
using Spire.Xls;
using System.Drawing;
namespace ModifyComment_XLS
{
class Program
{
static void Main(string[] args)
{
//创建一个Workbook类对象,并加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("AddComment.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
//修改工作表中的第一个批注
ExcelComment comment0 = workbook.Worksheets[0].Comments[0];
sheet.Comments[0].Text = "This is a new comment";
//设置指定批注不可见(隐藏)
sheet.Comments[0].IsVisible = true;
//设置指定批注可见(显示)
sheet.Comments[1].IsVisible = false;
//保存并打开文档
workbook.SaveToFile("ModifyComment.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("ModifyComment.xlsx");
}
}
}
3.删除Excel批注
【C#】
//实例化Wordbook类实例并加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("Comments.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
//删除工作表中的第2个批注
sheet.Comments[1].Remove();
//保存并打开文档
workbook.SaveToFile("RemoveComment.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("RemoveComment.xlsx");
以上全部为本篇文章的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
来源:https://www.cnblogs.com/Yesi/p/9187383.html
标签:C#,excel,批注
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
浅谈Java常见的排序算法
2023-09-08 11:11:11
![](https://img.aspxhome.com/file/2023/0/63640_0s.png)
SpringBoot FreeWorker模板技术解析
2023-08-09 09:14:39
![](https://img.aspxhome.com/file/2023/6/57826_0s.png)
Android中通过RxJava进行响应式程序设计的入门指南
2023-06-27 08:17:46
Android使用GridView实现日历功能示例(详细代码)
2022-01-24 15:39:00
![](https://img.aspxhome.com/file/2023/1/137281_0s.jpg)
java扩展Hibernate注解支持java8新时间类型
2021-09-12 07:43:38
Android 高仿微信语音聊天页面高斯模糊(毛玻璃效果)
2021-09-27 18:56:46
![](https://img.aspxhome.com/file/2023/0/120160_0s.png)
Spring JPA整合QueryDSL的示例代码
2022-12-02 18:56:22
![](https://img.aspxhome.com/file/2023/1/99891_0s.png)
Java常问面试内容--数组、声明、初始化、冒泡、多维数组、稀疏数组
2021-08-20 02:05:52
C# web.config之<customErrors>节点说明案例详解
2023-07-06 20:20:15
OpenCV图像处理之常见的图像灰度变换
2021-09-09 07:47:01
![](https://img.aspxhome.com/file/2023/1/135081_0s.jpg)
详解shrio的认证(登录)过程
2022-12-26 02:27:47
Netty分布式ByteBuf使用命中缓存的分配解析
2023-08-31 11:33:49
![](https://img.aspxhome.com/file/2023/1/70561_0s.png)
使用SharedPreferences在Android存储对象详细代码
2022-06-14 12:50:29
Java毕业设计实战之医院心理咨询问诊系统的实现
2022-07-04 19:02:21
![](https://img.aspxhome.com/file/2023/5/74995_0s.jpg)
SpringBoot的属性赋值@Value的用法说明
2023-10-16 13:08:27
![](https://img.aspxhome.com/file/2023/6/125666_0s.png)
详解Java中String类的各种用法
2022-03-10 12:48:35
![](https://img.aspxhome.com/file/2023/0/91730_0s.png)
JVM垃圾收集器详解
2022-10-06 10:46:00
![](https://img.aspxhome.com/file/2023/8/78938_0s.png)
Spring+SpringMVC+JDBC实现登录的示例(附源码)
2021-11-16 08:29:56
![](https://img.aspxhome.com/file/2023/7/88587_0s.png)
Android中EditText显示明文与密码的两种方式
2021-09-13 07:35:39
![](https://img.aspxhome.com/file/2023/1/137681_0s.gif)
Android 沉浸式改变小米魅族状态栏颜色的实例代码
2023-11-18 15:13:16
![](https://img.aspxhome.com/file/2023/5/125395_0s.png)