C#에서 Excel 셀에 주석을 추가하는 방법 | IronXL

C#로 Excel에 주석 추가하기 (Interop 없이)

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

IronXL의 간단한 API를 사용하여 C#에서 Excel 셀에 주석을 추가하세요—interop이 필요하지 않음. 특정 셀에 대해 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로 시작해 보세요

!{--010011000100100101000010010100100100000101010010010110010101111101010011010101000100000101010010101000101111101010001010010010010010100000101001100010111110100001001001001100010011110100001101001011--}


Excel 셀에 주석을 어떻게 추가하나요?

AddComment는 어떤 매개변수를 수락합니까?

셀을 선택하고 AddComment 메서드를 사용하여 셀에 주석을 추가합니다. 기본적으로, 주석은 보이지 않습니다. 셀에 마우스를 올리면 주석을 볼 수 있습니다. AddComment 메서드는 세 가지 매개변수를 수락합니다: content (문자열), author (문자열), 그리고 isVisible (부울). contentauthor 매개변수는 선택 사항이며 null일 수 있어 빈 주석이나 작성자 귀속이 없는 주석을 만들 수 있습니다.

.NET 응용 프로그램에서 Excel 주석을 작업할 때, IronXL이 셀 참조를 처리하는 방법을 이해하는 것이 중요합니다. IronXL이 처음이라면 엑셀 파일을 프로그래밍 방식으로 다루는 기본 사항을 이해하기 위해 포괄적인 시작하기 개요를 확인하세요. 클라우드 배포가 필요한 Enterprise 응용 프로그램을 위해 IronXL은 Azure 환경AWS Lambda 기능과 원활하게 통합됩니다.

주석을 기본적으로 언제 보이게 설정해야 하나요?

Excel에서는 깔끔한 스프레드시트의 외관을 유지하기 위해 주석이 기본적으로 숨겨져 있습니다. 그러나 교육 자료 생성, 데이터 입력에 대한 상세 지침 제공, 사용자들이 즉시 볼 수 있도록 중요한 정보 강조와 같은 시나리오에서는 보이는 주석이 필요할 수 있습니다. 세 번째 매개변수를 AddComment에서 true로 설정하여 주석을 마우스를 올리지 않고도 보이게 만듭니다.

IronXL은 새 스프레드시트를 처음부터 생성하거나 기존의 워크시트를 관리하는 것을 포함하여 더 고급 엑셀 조작 작업을 위한 포괄적인 도구 세트를 제공합니다. 데이터 중심 애플리케이션을 개발할 때, 다양한 형식으로 엑셀 데이터를 내보내야 하거나 서로 다른 스프레드시트 유형 사이에서 변환해야 할 수도 있습니다.

주석이 이미 있는 셀에 주석을 추가하면 어떻게 되나요?

이미 주석이 포함된 셀에서 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을 반환하는 이유는 무엇입니까?

선택된 셀에 연관된 주석이 없는 경우 Comment 속성은 null를 반환합니다. 프로그래밍 방식으로 셀을 반복할 때 일반적인 시나리오입니다. 주석 속성을 수정하려고 시도하기 전에 항상 null를 확인하여 NullReferenceException를 방지합니다. 이 패턴은 IronXL의 포괄적인 API에서 다른 셀 속성과 유사합니다.

복잡한 Excel 파일을 다루고 예기치 않은 null 값을 만나는 경우, 문제 해결 가이드는 다양한 Excel 형식 및 파일 구조와 함께 IronXL의 동작을 이해하는 데 도움이 될 수 있습니다. 대용량 Excel 파일을 처리하는 성능이 중요한 응용 프로그램의 경우, 댓글 작업을 최적화하기 위해 성능 이정표 문서를 참조하십시오.

댓글에서 수정할 수 있는 속성은 무엇인가요?

IronXL의 Comment 객체는 수정할 수 있는 세 가지 주요 속성을 공개합니다: Author (문자열), Content (문자열), 그리고 IsVisible (부울). Author 속성은 주석을 생성한 사람을 식별하여 협업 문서에 유용합니다. Content는 실제 주석 텍스트를 보유하며, 자세한 주석을 위한 여러 줄 문자열을 지원합니다. IsVisible는 주석이 영구적으로 표시되는지 아니면 마우스를 올렸을 때만 표시되는지를 제어합니다.

이 댓글 속성은 다른 셀 서식 기능과 함께 작동합니다. 예를 들어, 주석과 셀 스타일링과 테두리를 결합하여 스프레드시트에서 시각적으로 구별되는 주석 섹션을 만들 수 있습니다. 또한 조건부 서식을 댓글이 있는 셀에 적용하여 시각적으로 눈에 띄게 할 수도 있습니다.

생성 후 댓글 가시성을 어떻게 변경할 수 있나요?

셀의 Comment 속성을 통해 Comment 객체를 검색합니다. 필요에 따라 IsVisible 속성을 true 또는 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의 댓글 기능은 COM Interop의 복잡성 없이 워크플로우에 원활하게 통합됩니다.

자주 묻는 질문

C#에서 엑셀 셀에 주석을 추가하려면 어떻게 해야 하나요?

IronXL의 AddComment 메서드를 사용하면 Excel 셀에 댓글을 추가할 수 있습니다. 셀을 선택하고 내용, 작성자, 표시 여부 매개변수를 사용하여 AddComment 메서드를 호출하기만 하면 됩니다. 예를 들어, worksheet["B2"].First().AddComment("댓글 내용", "작성자", false)와 같이 사용합니다. 이 방법은 별도의 상호 운용이 필요하지 않으며 단일 메서드 호출로 작동합니다.

AddComment 메서드는 어떤 매개변수를 받습니까?

IronXL의 AddComment 메서드는 content(문자열), author(문자열), isVisible(부울)의 세 가지 매개변수를 받습니다. content와 author 매개변수는 선택 사항이며 null을 지정할 수 있습니다. 따라서 내용이 없는 댓글이나 작성자 정보가 없는 댓글을 생성할 수 있습니다. isVisible 매개변수는 마우스를 올렸을 때 댓글이 표시될지 여부를 제어합니다.

Office Interop을 사용하지 않고 Excel에 주석을 달 수 있나요?

네, IronXL을 사용하면 Office Interop 없이도 Excel 주석을 추가, 편집 및 삭제할 수 있습니다. 따라서 Office를 설치할 수 없는 서버 환경이나 클라우드 배포 환경에 이상적입니다. 이 라이브러리는 모든 Excel 주석 작업을 프로그래밍 방식으로 처리하는 간단한 API를 제공합니다.

엑셀에서 주석을 기본적으로 표시하려면 어떻게 해야 하나요?

IronXL에서 댓글을 기본적으로 표시하려면 AddComment 메서드의 세 번째 매개변수를 true로 설정하세요. 예를 들어 cell.AddComment("Content", "Author", true)와 같이 설정할 수 있습니다. 이는 교육 자료, 데이터 입력 지침 또는 사용자가 즉시 확인해야 하는 중요 정보를 강조 표시하는 데 유용합니다.

엑셀 셀에 있는 기존 댓글을 불러와서 수정할 수 있나요?

네, IronXL을 사용하면 셀의 Comment 속성에 접근하여 기존 댓글을 가져올 수 있습니다. 가져온 댓글의 내용, 작성자 또는 공개 설정을 수정할 수 있습니다. 이를 통해 Excel 자동화 워크플로에서 동적으로 댓글을 관리할 수 있습니다.

엑셀 셀에서 주석을 프로그램적으로 제거하는 방법은 무엇인가요?

IronXL은 셀에서 댓글을 삭제하는 RemoveComment 메서드를 제공합니다. 댓글이 포함된 셀에서 이 메서드를 호출하기만 하면 댓글이 제거됩니다. 이 기능은 스프레드시트를 정리하거나 프로그래밍 방식으로 댓글 정보를 업데이트할 때 유용합니다.

엑셀에 주석을 추가하는 데 필요한 최소한의 코드는 무엇인가요?

IronXL을 사용하여 댓글을 추가하는 최소 코드는 단 한 줄입니다. IronXl.WorkBook.Create().DefaultWorkSheet["B2"].First().AddComment("빠른 팁!", "개발자"). 이 코드는 통합 문서를 생성하고, B2 셀을 선택한 다음, 내용과 작성자가 포함된 댓글을 추가합니다. 추가 설정은 필요하지 않습니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

시작할 준비 되셨나요?
Nuget 다운로드 1,890,100 | 버전: 2026.3 방금 출시되었습니다

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronXl.Excel
샘플을 실행하세요 데이터가 스프레드시트로 변환되는 것을 지켜보세요.