如何在 C# 使用 Iron XL 在 Excel 中創建超鏈接

如何使用 C# 在 Excel 中建立超鏈接

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

Excel 超連結提供工作簿內位置、不同文件、網頁或電子郵件地址的可點擊引用。 它們增強了導航功能,使用戶能夠快速存取相關資訊和外部資源。 超連結可以建立互動式且使用者友好的電子表格,方便使用者輕鬆存取其他資料或外部內容。

IronXL 無需在 .NET C# 中使用 Interop,即可建立 URL 超連結、從本機和 FTP(檔案傳輸協定)檔案系統開啟外部檔案、電子郵件地址、儲存格位址和已定義名稱儲存格。

快速入門:只需幾個步驟即可使用 IronXL 新增超連結

本範例展示了使用 IronXL 為 Excel 儲存格新增網頁超連結是多麼容易。 只需幾行程式碼——建立工作簿、設定儲存格值、分配超連結並儲存——即可在電子表格中建立互動式連結。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    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

立即開始在您的項目中使用 IronXL 並免費試用。

第一步:
green arrow pointer


建立連結超連結範例

Cell類別中存在Hyperlink屬性。 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

示範

Link Hyperlink

建立跨工作表的超連結範例

要建立指向同一工作表中某個儲存格的超鏈接,只需使用儲存格的位址,例如 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

示範

Hyperlink Across Worksheet

建立其他類型的超連結範例

除了前面提到的超連結類型外,IronXL 還支援建立 FTP、檔案和電子郵件超連結。

  • FTP:以ftp://開頭。
  • 檔案:指定以file:///開頭的絕對路徑
  • 電子郵件:以mailto:

@@--括號-i-OPEN--@@FTP 和檔案超連結都需要使用絕對路徑。 @@--括號-CLOSE--@@

: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

示範

Other Types of Hyperlinks

刪除超連結

要刪除超鏈接,只需呼叫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 通過將單元格的 Hyperlink 屬性設置為包含所需鏈接的 Uri 物件,將超連結添加到 Excel 單元格中。這使您可以創建網站、電子郵件和文件的可點擊參考。

使用 .NET 庫可以在 Excel 中創建哪些類型的超連結?

使用 IronXL,您可以創建指向 HTTP 和 HTTPS URL、FTP 鏈接、本地文件路徑、電子郵件地址,甚至是同一或不同工作表中的單元格地址的超連結。

如何使用 C# 將超連結創建到不同工作表中的單元格?

要使用 IronXL 將超連結創建到不同工作表中的單元格,您可以使用地址格式 worksheetName!cellAddress。例如,要鏈接到 Sheet2 的單元格 A1,請使用 Sheet2!A1

我可以程式化地從 Excel 單元格中移除超連結嗎?

是的,您可以通過在相應的單元格對像上調用 RemoveHyperlink 方法來使用 IronXL 從 Excel 單元格中移除超連結。

使用 IronXL 設置 Excel 超連結相比傳統方法有什麼優勢?

使用 IronXL 設置 Excel 超連結消除了對 Excel Interop 的需求,使過程在 .NET 應用程序中更快、更高效,無需依賴伺服器上安裝 Excel。

如何使用 C# 在 Excel 文件中創建電子郵件超連結?

要在 Excel 文件中使用 IronXL 創建電子郵件超連結,將 Hyperlink 屬性設置為以 'mailto:' 開頭的 Uri 對象,後接電子郵件地址。

使用 .NET 庫創建 FTP 和文件超連結是否可能?

是的,IronXL 允許您通過以 'ftp://' 開頭創建 FTP 超連接,並使用以 'file:///' 開頭的絕對路徑創建文件超連接。

如何使用 C# 在 Excel 中創建指向定義名稱單元格的超連結?

您可以使用 IronXL 通過直接指定具有工作簿範圍的定義名稱來創建指向定義名稱單元格的超連接,或如果具有工作表範圍,則包括工作表名稱作為 worksheetName!definedName

Chaknith Bin
軟體工程師
Chaknith 在 IronXL 和 IronBarcode 上工作。他對 C# 和 .NET 擁有深厚的專業知識,幫助改進了軟體並支持客戶。他從用戶互動中得到的見解有助於改善產品、文檔和整體體驗。
準備好開始了嗎?
Nuget 下載 1,738,553 | Version: 2025.11 剛發表