C#を使用してExcelでハイパーリンクを作成する方法

How to Create Hyperlink

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

Excelのハイパーリンクは、ワークブック内、異なるファイル、Webページ、または電子メールアドレスへのクリック可能な参照を提供します。 これらはナビゲーションを強化し、関連情報や外部リソースへの迅速なアクセスを可能にします。 ハイパーリンクはインタラクティブでユーザーフレンドリーなスプレッドシートを作成し、追加データや外部コンテンツへの簡単なアクセスを促進します。

IronXLは、URL、ローカルおよびFTP(ファイル転送プロトコル)ファイルシステムからの外部ファイルのオープン、電子メールアドレス、セルアドレス、定義された名前のセルに対するハイパーリンクの作成を可能にし、.NET C#でInteropを使用せずに実現します。

Quickstart: IronXLで数ステップでハイパーリンクを追加する

この例は、IronXLを使ってExcelセルにウェブハイパーリンクを追加することがどれほど簡単であるかを示しています。 わずか数行でワークブックを作成し、セル値を設定し、ハイパーリンクを割り当てて保存するだけで、スプレッドシートにインタラクティブリンクを埋め込むことができます。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    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. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小ワークフロー (5ステップ)

  1. ハイパーリンクを作成するためのC#ライブラリをダウンロード
  2. 既存のExcelファイルをロードするか、新しいファイルを作成する
  3. ウェブサイトURLリンクへのハイパーリンクを作成する
  4. 同じワークシートまたはワークシートをまたいでセルまたは定義された名前へのハイパーリンクを作成する
  5. ファイルやメールを開くためのハイパーリンクを作成するにはHyperlinkプロパティを使用する

IronXL の開始

今日あなたのプロジェクトでIronXLを無料トライアルで使用開始。

最初のステップ:
green arrow pointer


リンクハイパーリンクの例を作成

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");
Imports IronXL

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

' Modify the cell's property
Private 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

デモンストレーション

リンクハイパーリンク

ワークシート間でのハイパーリンク作成例

同じワークシート内のセルにハイパーリンクを作成するには、例えばZ20などのアドレスを使用するだけです。しかし、ワークシートをまたいでハイパーリンクを作成するには、アドレスの規約 "worksheetName!address" を使用します。 例として、"Sheet2!A1"のようになります。

定義された名前のセルは、ブック(グローバル)またはワークシートのスコープを持つことができます。 同じワークシート内の定義された名前またはブックスコープの定義された名前にハイパーリンクを作成する場合は、その名前を直接指定できます。 別のワークシート上でワークシートスコープの定義された名前に対してハイパーリンクを作成するには、上記のようにワークシート名を指定します。 例として、"Sheet2!Iron"のようになります。

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

デモンストレーション

ワークシート間でのハイパーリンク

他のタイプのハイパーリンク作成例

前述のハイパーリンクタイプに加えて、IronXLは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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

デモンストレーション

他のタイプのハイパーリンク

ハイパーリンクを削除する

ハイパーリンクを削除するには、RemoveHyperlinkメソッドを呼び出すだけです。 このメソッドはセルオブジェクトからアクセスできます。

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

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

' Remove hyperlink
workSheet("A1").First().RemoveHyperlink()

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

よくある質問

C#を使用してExcelのセルにハイパーリンクを追加するにはどうすればよいですか?

IronXLを使用してExcelのセルにハイパーリンクを追加するには、セルのHyperlinkプロパティを所望のリンクを含むUriオブジェクトに設定します。これにより、ウェブサイト、メール、ファイルへのクリック可能な参照を作成できます。

どのような種類のハイパーリンクが.NETライブラリを使用してExcelで作成できますか?

IronXLを使用すると、HTTPとHTTPSのURL、FTPリンク、ローカルのファイルパス、メールアドレス、さらには同じまたは異なるワークシート内のセルアドレスへのハイパーリンクを作成できます。

C#を使用して異なるワークシート内のセルへのハイパーリンクを作成するにはどうすればよいですか?

IronXLを使用して異なるワークシート内のセルへのハイパーリンクを作成するには、アドレス形式worksheetName!cellAddressを使用します。たとえば、Sheet2のA1セルへのリンクにはSheet2!A1を使用します。

プログラム的にExcelのセルからハイパーリンクを削除できますか?

はい、IronXLを使用して、該当するセルオブジェクトに対してRemoveHyperlinkメソッドを呼び出すことで、Excelのセルからハイパーリンクを削除できます。

Excelでハイパーリンクを設定するのにIronXLを使用する利点は何ですか?

IronXLを使用してExcelにハイパーリンクを設定すると、Excel Interopが不要になり、サーバーにExcelがインストールされている必要がなく.NETアプリケーション内でのプロセスがより高速で効率的になります。

C#を使用してExcelファイルでメールハイパーリンクを作成するにはどうすればよいですか?

IronXLを使用してExcelファイルでメールハイパーリンクを作成するには、Hyperlinkプロパティを'mailto:'スキームで始まり、その後にメールアドレスを記述したUriオブジェクトに設定します。

FTPおよびファイルハイパーリンクを.NETライブラリで作成することは可能ですか?

はい、IronXLを使用すると、'ftp://'で始まるFTPハイパーリンクおよび'file:///'で始まる絶対パスを使用したファイルハイパーリンクを作成することができます。

C#を使用してExcelで定義名セルへのハイパーリンクを作成するにはどうすればよいですか?

IronXLを使用して定義名セルへのハイパーリンクを作成するには、ブックスコープの場合は直接定義名を指定し、ワークシートスコープの場合はworksheetName!definedNameとしてワークシート名を含めます。

Chaknith Bin
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeに取り組んでいます。彼はC#と.NETの深い専門知識を持ち、ソフトウェアの改善や顧客サポートに貢献しています。ユーザーとの対話から得られる洞察が、より良い製品、ドキュメント、および全体的な経験に寄与しています。
準備はいいですか?
Nuget ダウンロード 1,686,155 | バージョン: 2025.11 ただ今リリースされました