C#在Excel表格中插入、编辑和删除批注

所属分类: 软件编程 / C#教程 阅读数: 156
收藏 0 赞 0 分享

概述

为文档添加必要的批注可以给文档使用者提供重要的提示信息,下面的示例中,将介绍通过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");

以上全部为本篇文章的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

C# 大小写转换(金额)实例代码

C# 大小写转换(金额)实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm中Panel实现用鼠标操作滚动条的实例方法

由于在WinForm中Panel不能直接响应鼠标的滚动事件,只好采用捕获窗体的滚动事件。
收藏 0 赞 0 分享

C#访问应用程序配置文件的方法

C#访问应用程序配置文件的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#读写文件的方法汇总

C#读写文件的方法汇总,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#计算代码执行时间的方法

在一些测试工作时我们需要获得高精度的代码执行时间以比较其效率。
收藏 0 赞 0 分享

C# 动画窗体(AnimateWindow)的小例子

C# 动画窗体(AnimateWindow)的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# zxing二维码写入的实例代码

C# zxing二维码写入的实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

c#判断输入的是不是数字的小例子

c#判断输入的是不是数字的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

c# 深拷贝与浅拷贝的区别分析及实例

浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
收藏 0 赞 0 分享

C#利用com操作excel释放进程的解决方法

最近利用Microsoft.Office.Interop.Excel.Application读取一个excel后,进程中一直存在excel,在网上找了一阵子,其中有几个解决方案
收藏 0 赞 0 分享
查看更多