如何在 C# | IronXL.Excel 中为 Excel 单元格添加注释

如何使用 C# 在 Excel 中添加注释(不带互操作)

This article was translated from English: Does it need improvement?
Translated
View the article in English

使用 IronXl.Excel 的简单 API 在 C# 中为 Excel 单元格添加注释--无需互操作。 只需在任何单元格上调用AddComment()即可添加注释、备注或解释,不会影响您的单元格数据。

快速入门:在单元格中添加一行简单的注释

只需调用一个方法,即可在任何 Excel 单元格中添加注释。 无需要求的互操作性,也没有复杂性——只需在单元格上调用AddComment即可完成。

  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronXL.Excel

    PM > Install-Package IronXL.Excel
  2. 复制并运行这段代码。

    IronXl.WorkBook.Create().DefaultWorkSheet["B2"].First().AddComment("Quick tip!", "Dev");
  3. 部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronXL

    arrow pointer

开始使用 IronXL

今天在您的项目中使用 IronXL,免费试用。

第一步:
green arrow pointer


如何在 Excel 单元格中添加注释?

AddComment接受哪些参数?

选择单元格并使用AddComment方法向单元格添加注释。 默认情况下,评论是不可见的。 将鼠标悬停在单元格上可查看注释。 isVisible(布尔值)。 author参数都是可选的,可以为null,允许您创建空注释或不带作者标识的注释。

在您的 .NET 应用程序中使用 Excel 注释时,了解 IronXL 如何处理单元格引用至关重要。 如果您是 IronXL 的新用户,请查看全面的入门概述,了解以编程方式处理 Excel 文件的基础知识。 对于需要云部署的企业应用程序,IronXl.Excel 可与 Azure 环境AWS Lambda 函数无缝集成。

何时应使注释默认可见?

Excel 中的注释通常默认隐藏,以保持电子表格的整洁外观。 但是,在创建培训材料、提供详细的数据录入说明或突出用户必须立即看到的关键信息等情况下,您可能需要可见的注释。 将true,使注释在不悬停的情况下可见。

对于更高级的 Excel 操作任务,包括从头开始创建新电子表格管理现有工作表,IronXl.Excel 提供了一整套可无缝协作的工具。 在构建数据驱动型应用程序时,您可能还需要将 Excel 数据导出为各种格式在不同电子表格类型之间进行转换

如果我在已经有注释的单元格中添加注释,会发生什么情况?

当您在已经包含注释的单元格上调用AddComment时,IronXL将用新注释替换现有注释。 这种行为可确保您不会意外地在单个单元格上创建重复的注释。 如果您需要保留现有注释内容,首先使用Comment属性检索它,然后在添加更新的注释之前连接或合并内容。

:path=/static-assets/excel/content-code-examples/how-to/add-comment-add-comment.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

Cell cellA1 = workSheet["A1"].First();
Cell cellD1 = workSheet["D1"].First();

// Add comments
cellA1.AddComment("Hello World!", "John Doe"); // Add comment with content and author. The comment is invisible by default.
cellD1.AddComment(null, null, true); // Add comment with no content and no author. The comment is set to be visible.

workBook.SaveAs("addComment.xlsx");
$vbLabelText   $csharpLabel

下面是一个在循环中为多个单元格添加注释的实用示例,可用于添加批量注释或验证注释:

using IronXL;
using System;

// Load an existing workbook
WorkBook workBook = WorkBook.Load("salesData.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Add comments to cells that meet specific criteria
for (int row = 2; row <= 10; row++)
{
    var cell = workSheet[$"D{row}"].First();
    var value = cell.DoubleValue;

    if (value > 1000)
    {
        // Add performance comment for high values
        cell.AddComment($"Excellent performance! Value: {value:C}", "Sales Manager", true);
    }
    else if (value < 500)
    {
        // Add improvement comment for low values
        cell.AddComment($"Needs attention. Current: {value:C}", "Sales Manager", false);
    }
}

// Add timestamp comment to track last update
var updateCell = workSheet["A1"].First();
updateCell.AddComment($"Last updated: {DateTime.Now:yyyy-MM-dd HH:mm}", "System");

workBook.SaveAs("salesDataWithComments.xlsx");
using IronXL;
using System;

// Load an existing workbook
WorkBook workBook = WorkBook.Load("salesData.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Add comments to cells that meet specific criteria
for (int row = 2; row <= 10; row++)
{
    var cell = workSheet[$"D{row}"].First();
    var value = cell.DoubleValue;

    if (value > 1000)
    {
        // Add performance comment for high values
        cell.AddComment($"Excellent performance! Value: {value:C}", "Sales Manager", true);
    }
    else if (value < 500)
    {
        // Add improvement comment for low values
        cell.AddComment($"Needs attention. Current: {value:C}", "Sales Manager", false);
    }
}

// Add timestamp comment to track last update
var updateCell = workSheet["A1"].First();
updateCell.AddComment($"Last updated: {DateTime.Now:yyyy-MM-dd HH:mm}", "System");

workBook.SaveAs("salesDataWithComments.xlsx");
$vbLabelText   $csharpLabel

如何编辑现有评论?

为什么Comment属性有时返回Null?

当选择的单元格没有关联的注释时,null。 在以编程方式迭代单元格时,这种情况很常见。 始终在尝试修改注释属性之前检查NullReferenceException。 这种模式与 IronXL'Excel 综合 API 中的其他单元格属性类似。

如果您处理复杂的Excel文件并遇到意外的null值,故障排除指南可以帮助您了解IronXL在不同Excel格式和文件结构下的行为。 对于处理大型 Excel 文件的性能关键型应用程序,请参考性能里程碑文档以优化您的注释操作。

我可以在注释上修改哪些属性?

IronXL的IsVisible(布尔值)。 Author属性标识谁创建了注释,这对协作文档很有用。 Content包含实际的注释文本,支持多行字符串用于详细的注释。 IsVisible控制注释是永久显示还是仅在悬停时显示。

这些注释属性可与其他单元格格式化功能一起使用。 例如,您可能希望将注释与单元格样式和边框结合起来,以便在电子表格中创建视觉上截然不同的注释部分。 您还可以对带有注释的单元格应用条件格式化,使其在视觉上更加突出。

如何在创建后更改评论可见性?

通过访问单元格的Comment对象。 根据您的要求,将false。 该动态控件允许您根据用户操作或应用程序逻辑中的特定条件显示或隐藏注释。

:path=/static-assets/excel/content-code-examples/how-to/add-comment-edit-comment.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("addComment.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

Cell cellA1 = workSheet["A1"].First();

// Retrieve comment
var comment = cellA1.Comment;

// Edit comment
comment.Author = "Jane Doe";
comment.Content = "Bye World";
comment.IsVisible = true;

workBook.SaveAs("editComment.xlsx");
$vbLabelText   $csharpLabel

以编程方式编辑 Excel 文件时,注释提供了一种非侵入式的方法来添加元数据或注释,而不会改变实际的单元格值。 这使它们成为审计跟踪、审查流程或提供数据更改上下文的完美工具。 对于需要维护数据完整性的应用程序,可考虑使用密码保护 Excel 文件,同时仍允许进行注释修改。


如何删除单元格中的注释?

删除注释后单元格格式会发生什么变化?

删除单元格中的注释不会影响任何其他单元格属性或格式。 单元格的值、公式、样式、边框和背景颜色保持不变。 这种隔离确保了注释管理操作的安全性,不会无意中修改您精心格式化的电子表格。 这种行为符合 IronXL 的原则,即除非明确修改,否则应保留 工作簿元数据和格式。

我可以同时删除多个评论吗?

虽然 IronXL 没有提供同时删除工作表中所有注释的内置方法,但您可以通过迭代单元格轻松实现这一功能。 创建一个简单的循环,检查每个单元格中的注释并将其删除。 这种方法为您提供了细粒度的控制,让您可以根据作者、内容关键词或单元格位置等标准有选择性地删除注释。

Remove a comment from a cell by accessing the cell object and calling the RemoveComment method. 此操作是即时操作,无需保存工作簿即可生效,但您应保存更改以将其持久保存到磁盘。

:path=/static-assets/excel/content-code-examples/how-to/add-comment-remove-comment.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("addComment.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

Cell cellA1 = workSheet["A1"].First();

// Remove comment
cellA1.RemoveComment();

workBook.SaveAs("removeComment.xlsx");
$vbLabelText   $csharpLabel

Excel 中的注释有多种用途,不仅仅是简单的注释。 在以编程方式生成报告、为数据录入表单提供说明或在协作编辑过程中添加修订注释时,它们对于代码文档非常有价值。 在使用 数据验证时,注释可以提供有关可接受值的有用提示。 对于复杂的数据处理工作流程,您可以将注释与命名范围结合起来,创建更易于维护的自文档电子表格。

有了 IronXL 简单明了的 API,管理这些注释变得和其他单元格操作一样简单,使其成为在您的 C# 应用程序中创建专业、文档齐全的 Excel 文件的必备工具。 无论您是在构建ASP.NET网络应用还是桌面解决方案,IronXl.Excel的注释功能都能无缝集成到您的工作流程中,而无需复杂的COM Interop。

常见问题解答

如何用 C# 在 Excel 单元格中添加注释?

您可以使用 IronXL.Excel 的 AddComment 方法为 Excel 单元格添加注释。只需选择一个单元格,然后使用内容、作者和可见性参数调用 AddComment。例如:worksheet["B2"].First().AddComment("您的评论", "Author", false)。这不需要交互操作,只需调用一个方法即可实现。

AddComment 方法接受哪些参数?

IronXL 的 AddComment 方法接受三个参数:content(字符串)、author(字符串)和 isVisible(布尔值)。内容和作者参数都是可选的,可以为空,这样就可以创建空评论或没有作者署名的评论。isVisible 参数控制评论是否在不悬停的情况下显示。

不使用 Office Interop 能否创建 Excel 注释?

是的,IronXL.Excel 允许您添加、编辑和删除 Excel 注释,而无需 Office Interop。这使得它非常适合于无法安装 Office 的服务器环境和云部署。该库提供了一个简单的应用程序接口,能以编程方式处理所有 Excel 注释操作。

如何使 Excel 注释默认为可见?

要使 IronXL 中的注释默认可见,请将 AddComment 方法的第三个参数设置为 true。例如:cell.AddComment("Content", "Author", true)。这对于培训材料、数据录入说明或突出显示用户必须立即看到的关键信息非常有用。

能否检索和编辑 Excel 单元格中的现有注释?

是的,IronXL 允许您通过访问单元格的注释属性来检索现有的注释。检索后,您可以修改评论的内容、作者或可见性设置。这样就可以在 Excel 自动化工作流中实现动态批注管理。

如何通过编程删除 Excel 单元格中的注释?

IronXL 提供了 RemoveComment 方法来删除单元格中的注释。只需在包含注释的单元格中调用该方法即可删除注释。这对于清理电子表格或以编程方式更新注释信息非常有用。

在 Excel 中添加注释所需的最少代码是多少?

使用 IronXL 添加注释的最小代码只有一行:IronXl.WorkBook.Create().DefaultWorkSheet["B2"].First().AddComment("Quick tip!", "Dev")。这样就创建了一个工作簿,选择了单元格 B2,并添加了一个包含内容和作者的注释,无需额外设置。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 1,913,565 | 版本: 2026.3 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronXL.Excel
运行示例 观看您的数据变成电子表格。