如何向Excel儲存格新增註解C# | IronXL

如何在Excel中使用C#新增註解(不使用Interop)

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

使用IronXL的簡單API在Excel單元格中新增註解,而不需要Interop。 只需在任意單元格上呼叫AddComment()即可新增筆記、註釋或解釋,不會影響您的單元格資料。

快速入門:一行簡單程式碼為單元格新增註解

通過一個方法調用即可在任意Excel單元格上新增註解。 無需Interop,無複雜性——只需在單元格上呼叫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這兩個參數是可選的,並且可以為空,允許您建立空的註解或不具備作者屬性的註解。

在您的.NET應用程式中使用Excel註解時,了解IronXL如何處理單元格參照是非常重要的。 如果您是IronXL的新使用者,請查看全面的入門概述以了解如何以程式方式處理Excel文件的基礎。 對於需要雲端部署的企業應用,IronXL無縫地整合了Azure環境AWS Lambda函式

什麼時候應該預設顯示註解?

Excel中的註解通常預設是隱藏的,以保持整潔的表格外觀。 但是,您可能會在建立培訓材料、提供資料輸入的詳細指示或突出使用者必須立即查看的重要資訊等情境下希望註解可見。 將true以使註解在不懸停的情況下可見。

對於更高級的Excel操作任務,包括從頭建立新電子表格管理現有工作表,IronXL提供了一套全面的工具,這些工具可以無縫配合使用。 在構建資料驅動的應用程式時,您可能還需要將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");
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

Private cellA1 As Cell = workSheet("A1").First()
Private cellD1 As Cell = 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(Nothing, Nothing, True) ' Add comment with no content and no author. The comment is set to be visible.

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

以下是對多個單元格新增註解的實用範例,對於批量新增批註或驗證註釋非常有用:

:path=/static-assets/excel/content-code-examples/how-to/add-comment-3.cs
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");
Imports IronXL
Imports System

' Load an existing workbook
Dim workBook As WorkBook = WorkBook.Load("salesData.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

' Add comments to cells that meet specific criteria
For row As Integer = 2 To 10
    Dim cell = workSheet($"D{row}").First()
    Dim value = cell.DoubleValue

    If value > 1000 Then
        ' Add performance comment for high values
        cell.AddComment($"Excellent performance! Value: {value:C}", "Sales Manager", True)
    ElseIf value < 500 Then
        ' Add improvement comment for low values
        cell.AddComment($"Needs attention. Current: {value:C}", "Sales Manager", False)
    End If
Next

' Add timestamp comment to track last update
Dim 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的全面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");
Imports IronXL
Imports System.Linq

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

Private cellA1 As Cell = workSheet("A1").First()

' Retrieve comment
Private 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雖然沒有提供一個內建方法來同時從工作表中移除所有註解,但您可以通過遍歷單元格輕鬆實現此功能。 建立一個簡單的迴圈來檢查每個單元格的註解並將其移除。 這種方法賦予您細微的控制,讓您能夠根據作者、內容關鍵字或單元格位置等標準選擇性地移除註解。

通過存取單元格物件並呼叫RemoveComment方法從單元格中移除註解。 此操作是即時的,不需要保存工作簿即可生效,雖然您應該保存更改以使其持久保存到磁碟。

: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");
Imports IronXL
Imports System.Linq

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

Private cellA1 As Cell = workSheet("A1").First()

' Remove comment
cellA1.RemoveComment()

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

Excel中的註解除了一般的批註外,還有多種用途。 在通過程式方式生成報告時,對於程式碼文件、資料輸入表單的說明或在協作編輯期間新增修改註釋非常有價值。 在使用資料驗證時,註解可以提供有用的提示,告知可接受的值。 對於複雜的資料處理工作流程,您可能會將註解與命名範圍結合起來,以建立更易於維護的自我文件化的電子表格。

使用IronXL簡單明了的API,管理這些註解變得像其他單元格操作一樣簡單,使其成為在您的C#應用程式中建立專業且注釋詳細的Excel文件的重要工具。 無論您正在構建ASP.NET Web 應用程式還是桌面解決方案,IronXL的註解功能都可以無縫整合至您的工作流程中,而不需要COM Interop的複雜性。

常見問題

如何在C#中向Excel儲存格新增註解?

您可以使用IronXL的AddComment方法向Excel儲存格新增註解。只需選擇一個儲存格並呼叫AddComment,帶上內容、作者和可見性參數。例如:worksheet['B2'].First().AddComment('Your comment', 'Author', false)。這不需要Interop,並且只需一次方法呼叫即可完成。

AddComment方法接受哪些參數?

IronXL的AddComment方法接受三個參數:content(字串)、author(字串)和isVisible(布林值)。content和author參數都是可選的,可以為null,允許您建立沒有作者歸屬的空註解。isVisible參數控制註解是否在不懸停的情況下顯示。

我可以不用Office Interop建立Excel註解嗎?

是的,IronXL允許您不需要Office Interop就可以新增、編輯和移除Excel註解。這使其非常適合伺服器環境和不安裝Office的雲端部署。該程式庫提供簡單的API來程式化處理所有Excel註解操作。

如何使Excel註解預設可見?

要使註解在IronXL中預設可見,將AddComment方法的第三個參數設為true。例如:cell.AddComment('Content', 'Author', true)。這對於培訓資料、資料輸入說明或必須立即看到的關鍵資訊非常有用。

我可以檢索和編輯現有的Excel註解嗎?

是的,IronXL允許您通過存取儲存格的Comment屬性來檢索現有的註解。檢索後,您可以修改註解的內容、作者或可見性設定。這使得在您的Excel自動化工作流程中可以進行動態註解管理。

如何程式化地從Excel儲存格中移除註解?

IronXL提供RemoveComment方法來刪除儲存格中的註解。只需對包含註解的任何儲存格呼叫此方法即可刪除它。這對於清理試算表或程式化更新註解資訊非常有用。

新增註解到Excel所需的最小程式碼是什麼?

使用IronXL新增註解的最小程式碼只需一行:IronXL.WorkBook.Create().DefaultWorkSheet['B2'].First().AddComment('Quick tip!', 'Dev')。這建立了一個工作簿,選擇儲存格B2,並新增一個帶有內容和作者的註解-不需要額外的設定。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好開始了嗎?
Nuget 下載 2,134,203 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

仍在滾動嗎?

想要快速證明嗎? PM > Install-Package IronXL.Excel
運行一個範例 觀看您的資料成為試算表。