C#을 사용하여 Excel에 하이퍼링크를 만드는 방법

C#을 사용하여 엑셀에서 하이퍼링크를 생성하는 방법

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

IronXL은 C# 개발자가 엑셀 셀 내에서 URL, 파일 경로, 이메일 주소, 셀 참조를 포함한 다양한 하이퍼링크를 Interop 없이 생성할 수 있게 하여 스프레드시트에 대화형 내비게이션을 추가하는 과정을 간소화합니다.

엑셀 하이퍼링크는 워크북 내 위치, 다른 파일, 웹 페이지, 또는 이메일 주소로 연결되는 클릭 가능한 참조를 제공합니다. 그들은 탐색을 향상시켜 관련 정보와 외부 리소스에 빠르게 접근할 수 있게 합니다. 하이퍼링크는 상호작용적이고 사용자 친화적인 스프레드시트를 만들어 추가 데이터 또는 외부 콘텐츠에 쉽게 접근할 수 있도록 지원합니다.

IronXL은 URL에 대한 하이퍼링크 생성, 로컬 및 FTP(파일 전송 프로토콜) 파일 시스템에서도 외부 파일 열기, 이메일 주소, 셀 주소 및 정의된 이름 셀을 .NET C#의 Interop 없이 가능하게 합니다. 이 기능은 비즈니스 애플리케이션에서 Excel 파일을 프로그래밍 방식으로 처리할 때 필수적입니다.

간단한 단계로 IronXL을 사용하여 하이퍼링크 추가하기 시작하기

이 예시는 IronXL을 사용하여 Excel 셀에 웹 하이퍼링크를 추가하는 것이 얼마나 쉬운지를 보여줍니다. 몇 줄 만에—워크북 생성, 셀 값 설정, 하이퍼링크 할당, 저장—스프레드시트에 상호작용 링크가 생깁니다. 보다 포괄적인 Excel 조작을 위해, C#에서 Excel 파일 편집 가이드를 참조하세요.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronXl.Excel 설치하기

    PM > Install-Package IronXl.Excel
  2. 다음 코드 조각을 복사하여 실행하세요.

    IronXl.WorkBook workbook = IronXl.WorkBook.Create(IronXl.ExcelFileFormat.XLSX);
    workbook.DefaultWorkSheet.GetCellAt(0, 0).Value = "Visit IronXL Docs";
    workbook.DefaultWorkSheet.GetCellAt(0, 0).Hyperlink = "https://ironsoftware.com";
    workbook.SaveAs("hyperlink_quick.xlsx");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronXL 사용 시작하기

    arrow pointer

필요한 사전 조건은 무엇인가요?

하이퍼링크를 구현하기 전에 IronXL이 .NET 프로젝트에 설치되어 있는지 확인하세요. IronXL에서 범위 선택워크시트 관리에 대한 기본적인 이해도 필요합니다. 이 라이브러리는 .NET Framework 4.6.2+ 및 .NET Core/5/6/7/8+를 지원하여 대부분의 현대 .NET 애플리케이션과 호환됩니다.


Excel 셀에서 URL 하이퍼링크는 어떻게 만듭니까?

Hyperlink 속성은 Cell 클래스에 존재합니다. worksheet["A1"] 코드는 Range 객체를 반환합니다; 범위 내 첫 번째 셀에 접근하려면 First 메서드를 사용하세요.

또한, 셀을 직접 액세스하려면 GetCellAt 메서드를 사용하여 Hyperlink 속성을 직접 액세스할 수 있습니다. 이 접근 방식은 스프레드시트에서 특정 셀 좌표를 사용하여 작업할 때 특히 유용합니다.

링크 하이퍼링크 생성을 예제로 살펴보겠습니다. HTTP와 HTTPS 프로토콜이 모두 지원되어 안전하고 비안전한 웹 리소스를 연결할 수 있습니다. 하이퍼링크를 생성할 때 정규 텍스트와 시각적으로 구별되도록 셀 서식과 결합하는 것을 고려하세요.

경고수정되지 않은 셀을 선택하기 위해 GetCellAt 메서드를 사용하면 System.NullReferenceException: '객체 참조가 개체의 인스턴스로 설정되지 않았습니다.' 예외가 발생합니다.

:path=/static-assets/excel/content-code-examples/how-to/hyperlinks-set-link-hyperlink.cs
using IronXL;

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

// Modify the cell's property
workSheet["A1"].Value = "Link to ironpdf.com";

// Set hyperlink at A1 to https://ironpdf.com/
workSheet.GetCellAt(0, 0).Hyperlink = "https://ironpdf.com/";

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

생성된 하이퍼링크를 클릭하면 무슨 일이 일어납니까?

IronXL로 생성된 하이퍼링크를 클릭하면 Excel은 기본 웹 브라우저에서 연결된 URL을 열도록 프롬프트합니다. 셀은 원래 값을 유지하면서 하이퍼링크 기능을 추가하여 설명 텍스트를 보존하면서 탐색을 가능하게 합니다. 이 동작은 로컬에서 Excel 파일을 작업할 때나 클라우드 환경에 배포할 때 일관성이 있습니다.

Excel spreadsheet showing 'Link to rongdf.com' text in cell A1, demonstrating hyperlink creation setup

다른 워크시트 간에 하이퍼링크는 어떻게 만듭니까?

같은 워크시트 내 셀로 하이퍼링크를 생성하려면 Z20 등의 셀 주소를 사용하세요. 워크시트 간 하이퍼링크를 생성하려면 worksheetName!address 주소 규약을 사용하세요. 예를 들어, Sheet2!A1. 이 교차 워크시트 링크 기능은 여러 데이터 시트가 포함된 복잡한 Excel 보고서를 작성할 때 필수적입니다.

정의된 이름 셀은 워크북(전역) 또는 워크시트 범위를 가질 수 있습니다. 동일한 워크시트 내의 정의된 이름이나 워크북 범위를 가진 정의된 이름으로 하이퍼링크를 생성하려면 이름을 직접 지정합니다. 다른 워크시트의 워크시트 범위에서 정의된 이름에 대한 하이퍼링크를 생성하려면 위에서 언급한 대로 워크시트 이름을 지정합니다. 예를 들어, Sheet2!Iron. 고급 Excel 자동화를 위해 이름 범위 작업에 대해 자세히 알아보세요.

:path=/static-assets/excel/content-code-examples/how-to/hyperlinks-set-hyperlink-across-worksheet.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet1 = workBook.CreateWorkSheet("Sheet1");
WorkSheet workSheet2 = workBook.CreateWorkSheet("Sheet2");

// Create workbook(global) define name
workSheet1["D5"].SaveAsNamedRange("Iron", true);

// Create worksheet define name
workSheet2["D10"].SaveAsNamedRange("Hello", false);

// --== Within the same worksheet ==--
// Set hyperlink to cell Z20
workSheet1["A1"].Value = "Z20";
workSheet1["A1"].First().Hyperlink = "Z20";

// Set hyperlink to define name "Iron"
workSheet1["A2"].Value = "Iron";
workSheet1["A2"].First().Hyperlink = "Iron";

// --== Across worksheet ==--
// Set hyperlink to cell A1 of Sheet2
workSheet1["A3"].Value = "A1 of Sheet2";
workSheet1["A3"].First().Hyperlink = "Sheet2!A1";

// Set hyperlink to define name "Hello" of Sheet2
workSheet1["A4"].Value = "Define name Hello of Sheet2";
workSheet1["A4"].First().Hyperlink = "Sheet2!Hello";

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

이름 범위를 하이퍼링크에 사용하는 이유는 무엇입니까?

이름 범위는 워크시트 구조 변경 시에도 유지되는 유지보수 쉬운 하이퍼링크를 제공합니다. 셀의 이름 또는 위치를 변경할 때 이름 범위 하이퍼링크가 자동으로 업데이트되어 Excel 응용 프로그램에서 끊어진 링크가 줄어듭니다. 이 접근 방식은 데이터 위치가 변경될 수 있는 동적 보고서에서 특히 가치가 있습니다.

Excel worksheet showing hyperlink setup with 'A1 of Sheet2' reference and defined name for cross-sheet linking

워크북 범위와 워크시트 범위의 차이는 무엇입니까?

워크북 범위(전역) 이름 범위는 워크북 내의 모든 워크시트에서 접근할 수 있지만, 워크시트 범위의 이름은 해당 특정 워크시트 내에서만 접근할 수 있습니다. 이름 범위로 하이퍼링크를 생성할 때 워크북 범위 이름은 더 큰 유연성을 제공하지만, 워크시트 범위 이름은 시트별 데이터에 대해 더 나은 캡슐화를 제공합니다. 이 구분은 복잡한 Excel 응용 프로그램에서 여러 워크시트를 관리할 때 중요해집니다.


파일, FTP 및 이메일 하이퍼링크는 어떻게 생성합니까?

앞서 언급한 하이퍼링크 유형 외에도 IronXL은 FTP, 파일 및 이메일 하이퍼링크 생성을 지원합니다. 이러한 전문 하이퍼링크 유형은 간단한 웹 링크 이상의 Excel 자동화 기능을 확장합니다.

  • FTP: ftp://로 시작 - FTP 서버에 있는 파일에 링크
  • 파일: file:///로 시작하는 절대 경로 지정 - 로컬 또는 네트워크 파일에 링크
  • 이메일: mailto:로 시작 - 클릭 가능한 이메일 주소 생성

참고해 주세요FTP와 파일 하이퍼링크 모두 절대 경로를 사용해야 합니다.

:path=/static-assets/excel/content-code-examples/how-to/hyperlinks-set-other-hyperlink.cs
using IronXL;
using System.Linq;

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

// Set hyperlink to open file sample.xlsx
workSheet["A1"].Value = "Open sample.xslx";
workSheet["A1"].First().Hyperlink = "ftp://C:/Users/sample.xlsx";

// Set hyperlink to open file sample.xlsx
workSheet["A2"].Value = "Open sample.xslx";
workSheet["A2"].First().Hyperlink = "file:///C:/Users/sample.xlsx";

// Set hyperlink to email example@gmail.com
workSheet["A3"].Value = "example@gmail.com";
workSheet["A3"].First().Hyperlink = "mailto:example@gmail.com";

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

파일과 FTP 하이퍼링크를 언제 사용해야 하나요?

Windows 파일 시스템을 통해 접근 가능한 로컬 파일이나 네트워크 공유 파일에 대한 파일 하이퍼링크(file:///)를 사용하세요. FTP 하이퍼링크(ftp://)는 특히 전용 파일 서버에 문서가 저장되는 기업 환경에서 FTP 서버의 파일에 연결하기에 적합합니다. FTP 링크를 사용할 때 보안 문제를 고려하십시오. 자격 증명이 평문으로 전송될 수 있습니다.

Other Types of Hyperlinks

Mailto 링크를 클릭하면 어떤 이메일 클라이언트가 열리나요?

사용자가 Excel에서 mailto 링크를 클릭하면 지정된 이메일로 미리 주소가 지정된 새 메시지와 함께 기본 이메일 클라이언트가 열립니다. 이것은 Outlook, Thunderbird 및 시스템 기본값으로 구성된 웹 기반 이메일 클라이언트와 함께 작동합니다. You can enhance mailto links with subject lines and body text using standard mailto syntax: mailto:example@gmail.com?subject=Hello&body=Message.


Excel 셀에서 하이퍼링크를 제거하는 방법

To remove a hyperlink, invoke the RemoveHyperlink method. 이 메서드는 셀 객체에서 액세스할 수 있습니다. 하이퍼링크를 제거하는 것은 데이터를 정리하거나 연결된 보고서를 정적 문서로 변환할 때 유용합니다.

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

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

// Remove hyperlink
workSheet["A1"].First().RemoveHyperlink();

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

하이퍼링크를 제거할 때 셀 내용이 삭제되나요?

아니요, 하이퍼링크를 제거해도 셀의 값과 서식은 그대로 유지됩니다. 하이퍼링크 기능만 제거되며, 표시 텍스트는 그대로 남습니다. 동일한 스프레드시트 파일 유형 변환이나 문서 보관 준비 시 데이터 손실 없이 안전하게 하이퍼링크를 제거할 수 있습니다.

한 번에 여러 하이퍼링크를 제거하려면 어떻게 해야 하나요?

여러 하이퍼링크를 효율적으로 제거하려면 셀의 범위를 반복하거나 하이퍼링크가 포함된 셀을 처리하기 위해 LINQ를 사용하십시오.

// Remove all hyperlinks in column A
for (int i = 1; i <= 10; i++)
{
    var cell = workSheet.GetCellAt(i, 0);
    if (cell != null && !string.IsNullOrEmpty(cell.Hyperlink))
    {
        cell.RemoveHyperlink();
    }
}
// Remove all hyperlinks in column A
for (int i = 1; i <= 10; i++)
{
    var cell = workSheet.GetCellAt(i, 0);
    if (cell != null && !string.IsNullOrEmpty(cell.Hyperlink))
    {
        cell.RemoveHyperlink();
    }
}
$vbLabelText   $csharpLabel

이 방법은 특히 가져온 데이터 정리 또는 하이퍼링크가 적절하지 않을 수 있는 배포를 준비하는 스프레드시트에서 유용합니다. 더 고급 셀 조작 기법에 대해서는 범위 선택 및 작업 방법 가이드를 참조하십시오.

자주 묻는 질문

C#을 사용하여 Excel에서 하이퍼링크를 만드는 방법은 무엇인가요?

IronXL을 사용하면 셀에 접근하여 Hyperlink 속성을 설정하는 방식으로 Excel에서 간편하게 하이퍼링크를 만들 수 있습니다. 워크북을 불러오거나 새로 생성한 후, GetCellAt() 함수 또는 워크시트 인덱서를 사용하여 원하는 셀을 찾고, 해당 셀의 Hyperlink 속성에 URL 문자열을 할당하면 됩니다. IronXL은 Microsoft Interop 없이도 복잡한 Excel 서식을 자동으로 처리합니다.

엑셀 셀에 만들 수 있는 하이퍼링크 유형에는 어떤 것들이 있습니까?

IronXL은 외부 웹사이트 URL, 로컬 파일 또는 FTP 파일을 열기 위한 파일 경로, mailto 링크가 포함된 이메일 주소, 동일 워크시트 내 셀 참조, 정의된 이름 셀 참조 등 다양한 유형의 하이퍼링크 생성을 지원합니다. IronXL에서는 이러한 모든 하이퍼링크 유형을 동일한 Hyperlink 속성을 사용하여 구현할 수 있습니다.

엑셀 파일에 하이퍼링크를 추가하려면 마이크로소프트 오피스가 설치되어 있어야 하나요?

아니요, IronXL은 Microsoft Office 또는 Interop 어셈블리 없이 독립적으로 작동합니다. 이 라이브러리에는 .NET 애플리케이션에서 직접 하이퍼링크가 포함된 Excel 파일을 생성, 읽기 및 수정하는 데 필요한 모든 구성 요소가 포함되어 있으므로 Office 설치가 불가능한 서버 환경에 이상적입니다.

엑셀 하이퍼링크를 생성하는 데 지원되는 .NET Framework는 무엇입니까?

IronXL은 .NET Framework 4.6.2 이상은 물론 .NET Core, .NET 5, 6, 7, 8+ 등 다양한 .NET Framework를 지원합니다. 이러한 폭넓은 호환성을 통해 IronXL의 하이퍼링크 기능을 기존 애플리케이션과 최신 .NET 프로젝트 모두에 통합할 수 있습니다.

기존 엑셀 파일에 하이퍼링크를 추가할 수 있나요, 아니면 새 파일에만 추가할 수 있나요?

IronXL을 사용하면 새 Excel 파일과 기존 Excel 파일 모두에 하이퍼링크를 추가할 수 있습니다. WorkBook.Load()를 사용하여 기존 통합 문서를 불러오고, 임의의 셀이나 범위에 접근하여 스프레드시트의 다른 내용이나 서식에 영향을 주지 않고 하이퍼링크를 추가할 수 있습니다. 이 라이브러리는 새로운 대화형 요소를 추가하는 동안 기존 데이터를 보존합니다.

특정 셀에 하이퍼링크를 추가하려면 어떻게 해야 하나요?

IronXL은 하이퍼링크를 추가하기 위해 셀에 접근하는 다양한 방법을 제공합니다. 행 및 열 인덱스를 사용하여 GetCellAt() 메서드를 호출하거나, worksheet["A1"]과 같은 셀 주소를 사용하여 워크시트 인덱서를 사용할 수 있습니다. 범위를 지정하려면 First 메서드를 사용하여 첫 번째 셀을 가져올 수 있습니다. 또한, 이 라이브러리는 일괄 하이퍼링크 작업을 위해 범위를 선택하는 기능도 지원합니다.

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

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, 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
샘플을 실행하세요 데이터가 스프레드시트로 변환되는 것을 지켜보세요.