C#在Excel表格中插入、编辑和删除批注
作者:E-iceblue 发布时间:2023-01-12 13:52:20
标签:C#,excel,批注
概述
为文档添加必要的批注可以给文档使用者提供重要的提示信息,下面的示例中,将介绍通过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


猜你喜欢
- 提要本节继续给大家带来是显示提示信息的第三个控件AlertDialog(对话框),同时它也是其他Dialog的的父类!比如ProgressD
- spring cloud oauth2 feign 遇到的坑关于oauth2相关的内容这里不重复描述,在spring cloud中在管理内部
- Spring session 获取当前账户登录数一、登录校验成功时,向session加入关键信息,代码如下:session.setAttri
- 一、代码先上代码(以下这段代码会有多种执行结果)@Testpublic void test_interrupted_thread() thr
- 本文实例为大家分享了android音乐播放器的具体代码,供大家参考,具体内容如下话不多说先上效果前言写这个音乐播放器实在是迫不得已。因为我们
- 将int数组转化为Integer数组这里使用java8的stream来进行转化,详细步骤如下所示://初始化int数组int[] nums
- synchronized都问啥?如果Java面试有什么是必问的,synchronized必定占据一席之地。初出茅庐时synchronized
- 本文实例讲述了C#文件分割的方法。分享给大家供大家参考。具体如下:1. 小文件分割(适用于小于等于64M的文件):using System;
- 异常算术异常类:ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCa
- 1.application.yml中添加两个datasourceserver: port: 8080spring: application:
- 本文实例讲述了C#使用Object类实现栈的方法。分享给大家供大家参考,具体如下:Stack类的代码:using System;using
- 去除XSS字符串需要借助工具类 jsoup ,这里jsoup有一点需要注意的是,jsoup的功能可能有点太强大了,能把xss攻击的内容直接过
- 👉实践过程😜常用属性因为Seekbar继承自ProgressBar,所以ProgressBar支持的XML属性SeekBar都适用。【and
- 在java中,可以根据Class类的对象,知道某个类(接口)的一些属性(成员 ,方法,注释,注解)等。由于最近的工作中用到了这些,其中需要在
- 前言在H5火热的时代,许多框架都出了底部弹窗的控件,在H5被称为弹出菜单ActionSheet,今天我们也来模仿一个ios的底部弹窗,取材于
- xxx cannot be resolved to a type引言 eclipse新导入的项目经常可以
- static void Main(string[] args) &nb
- Spring MVC整合SpringBoot提供为整合MVC框架提供的功能特性内置两个视图解析器:ContentNegotiatingVie
- springboot前端传参date类型后台处理先说结论建议大家直接使用@JsonFormat,原因如下: 1、针对json格式
- xamarin 可以很方便的编写一个电话拨号程序,下面的代码是调用android系统的拨号功能,拨号前会给出一个提示信息。callButto