C# 如何在Excel表格中插入、编辑和删除批注
概述
为文档添加必要的批注可以给文档使用者提供重要的提示信息,下面的示例中,将介绍通过C#编程语言来给Excel表格中的指定单元格内容添加批注,此外,对于已有的批注,如果需要修改,我们也可以进行编辑或者删除批注。示例内容将包含以下主要内容:
1.插入批注
1.1 插入文本
1.2 插入图片
2.编辑批注
2.1 修改批注内容
2.1 设置批注可见性
3.删除批注
工具
提示:在进行代码操作之前,需下载安装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[];
步骤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 = ;
range.Comment.Height = ;
range.Comment.RichText.SetFont(, , 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[]; //设置批注文本
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 = ;
range.Comment.Height = ;
range.Comment.RichText.SetFont(, , 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[];
步骤3:修改工作表中的第一个批注
ExcelComment comment0 = workbook.Worksheets[].Comments[];
sheet.Comments[].Text = "This is a new comment";
步骤4:设置批注可见性(隐藏、显示)
//设置指定批注可见(显示)
sheet.Comments[].IsVisible = true;
//设置指定批注不可见(隐藏)
sheet.Comments[].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[]; //修改工作表中的第一个批注
ExcelComment comment0 = workbook.Worksheets[].Comments[];
sheet.Comments[].Text = "This is a new comment"; //设置指定批注不可见(隐藏)
sheet.Comments[].IsVisible = true;
//设置指定批注可见(显示)
sheet.Comments[].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[]; //删除工作表中的第2个批注
sheet.Comments[].Remove(); //保存并打开文档
workbook.SaveToFile("RemoveComment.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("RemoveComment.xlsx");
以上全部为本篇文章的全部内容。
如需转载请注明出处。
<本文完>
C# 如何在Excel表格中插入、编辑和删除批注的更多相关文章
- NX二次开发-OLE/COM向EXCEL表格中插入图片
今晚有一个兄弟问我怎么往EXCEL里插入图片(加工程序单中需要插入图片),这个我之前也没弄过,回复了他一句不知道,后来刚刚干完游戏吃完鸡,就去VC++的书上翻了翻,还真的被我翻到了.VC++的方法往E ...
- C#应用NPOI实现导出EXcel表格中插入饼状图(可实现动态数据生成)
一.思路: 1.excel是可以通过NPOI插入图片的: 2.C#通过NPOI生成饼状图: 3.把生成的饼状图以字节流的形式插入到表格 二.看代码: #region 生成饼图图例 /// < ...
- excel表格中如何将内容粘贴到筛选后的可见单元格[转]
默认情况下,筛选后excel表格进行复制粘贴,会贴到隐藏的表格. 可以添加两个辅助列来完成操作:1.在筛选前在表格右边添加"辅助1"列,在第二行输入1,按Ctrl+鼠标左键往下拉到 ...
- 根据excel表格中的内容更新Sql数据库
关于[无法创建链接服务器 "(null)" 的 OLE DB 访问接口 SQL Server 2008读取EXCEL数据时,可能会报这个错误:无法创建链接服务器 "(nu ...
- 不用MathType, 如何在Mac Word中插入公式
不用MathType, 如何在Mac Word中插入公式 找了好久都找不到MathType的破解版,不得不使用免费清爽的MarkDown编辑工具Typora_for_Mac. 我是很喜欢Typora的 ...
- 如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?
在POI的第一节入门中,我们提供了两个简单的例子,一个是如何用Apache POI新建一个工作薄,另外一个例子是,如果用Apache POI新建一个工作表.那么在这个章节里面,我将会给大家演示一下,如 ...
- 如何在Word表格中的某一栏添加背景颜色
如何在Word表格中的某一栏添加背景颜色 编写人:CC阿爸 2014-3-14 用鼠标选中某一个单元格然后右键单击 下拉菜单选择.<边框和低纹>然后点<低纹>选项卡 选中色卡 ...
- VBA取得EXCEL表格中的行数和列数
VBA取得EXCEL表格中的行数和列数 初学EXCEL宏的童鞋,总是很想知道表格中含有数据的行数和列数,尤其是行数和列数不确定的情况下.这样可以避免很多的错误,并且可以提高效率.但每次用到的时候到网上 ...
- C#读取Excel表格中数据并返回datatable
在软件开发的过程中,经常用到从excel表格中读取数据作为数据源,以下整理了一个有效的读取excel表格的方法. DataTable GetDataTable(string tableName,str ...
随机推荐
- Oracle报错ORA-12516 TNS:listener could not find available handler with matching protocol stack
解决办法定位原因-- 以sysdba身份登陆PL/SQL sqlplus / as sysdba;-- 查看当前连接进程数SQL>select count(*) from v$process;- ...
- 常用输入的js验证
身份证 var idnub = document.getElementById('idnub').value; if(idnub.length > 1){ var reg = /(^\d{15} ...
- python3脚本打开摄像头
openCamera 脚本地址:https://github.com/Mrlshadows/openCamera Mac OS 安装 OpenCV Python 环境为 python3 终端执行如下指 ...
- c++实验二
1.函数重载编程练习编写重载函数add(),实现对int型,double型,Complex型数据的加法 #include<iostream> using namespace std; st ...
- vue-router下的html5 history在iis服务器上的设置 vue去掉#
转自:https://www.cnblogs.com/zzsdream/p/6576639.html 1.安装 url rewrite模块到IIS 下载地址 2.在web.config文件中 syst ...
- angular5与angular6的比较
- js面向对象自定义MyString()的构造器函数,实现内建String()属性和方法:
js面向对象自定义MyString()的构造器函数,实现内建String()属性和方法: var s = new MyString('hello'); s.length; s[0]; // " ...
- 浅析HSTS
浅析HSTS 一.HSTS是什么? HSTS全称:HTTP Strict Transport Security,意译:HTTP严格传输安全,是一个Web安全策略机制. 二.HSTS解决什么问题? 它解 ...
- c++ 获取磁盘句柄
磁盘的句柄可以用CreateFile函数获得.获得句柄后,就可以配合其他函数对磁盘进行一些操作. int main() { HANDLE hFile = INVALID_HANDLE_VALUE; h ...
- emWin洗衣机简易操作界面,含uCOS-III和FreeRTOS两个版本
第3期:洗衣机简易操作界面 配套例子:V6-904_STemWin提高篇实验_洗衣机简易操作界面(uCOS-III)V6-905_STemWin提高篇实验_洗衣机简易操作界面(FreeRTOS) 例程 ...