如何建立超連結
Excel 超連結提供可點擊的參考至工作簿內部位置、不同文件、網頁或電子郵件地址。 他們提升了導航功能,能快速存取相關資訊和外部資源。 超連結創造了互動且使用者友好的試算表,方便輕鬆地存取額外資料或外部內容。
IronXL 無需使用 Interop 即可在 .NET C# 中為 URL 創建超連結,開啟本地和 FTP(文件傳輸協議)文件系統的外部文件、電子郵件地址、儲存格地址和定義名稱儲存格。
如何建立超連結
開始使用IronXL
立即在您的專案中使用IronXL,並享受免費試用。
創建鏈接超連結範例
超連結屬性存在於Cell類別中。 workSheet ["A1"] 代碼返回一個範圍物件,您可以使用First
方法來訪問範圍中的第一個儲存格。
或者,您可以使用 GetCellAt
方法直接訪問儲存格,從而直接訪問 Hyperlink 屬性。
讓我們探索創建鏈接超鏈接的一個例子。 支援 HTTP 和 HTTPS 協定。
在繼續之前
GetCellAt
方法選擇一個未修改的儲存格將會拋出System.NullReferenceException: 'Object reference not set to an instance of an object.':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")
演示

在工作表中創建超連結示例
要在同一個工作表中建立超連結到儲存格,只需使用儲存格的地址,例如 Z20。然而,若要在不同工作表間建立超連結,可以使用地址格式 "工作表名稱!地址"。 例如,"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
演示

創建其他類型的超鏈接示例
除了先前提到的超連結類型之外,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
演示

移除超連結
若要移除超連結,只需調用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")