IronXL How-Tos Hyperlink How to Create Hyperlink Chaknith Bin Updated:July 28, 2025 Excel hyperlinks provide clickable references to locations within the workbook, different files, web pages, or email addresses. They enhance navigation, allowing quick access to related information and external resources. Hyperlinks create interactive and user-friendly spreadsheets, facilitating easy access to additional data or external content. IronXL enables the creation of hyperlinks for URLs, opening external files from both local and FTP (File Transfer Protocol) file systems, email addresses, cell addresses, and defined name cells without the use of Interop in .NET C#. How to Create Hyperlink Download the C# library for creating hyperlinks Load an existing Excel file or create a new one Create a hyperlink to a website URL link Create a hyperlink to a cell or define name within the same worksheet or across worksheets Use the Hyperlink property to create hyperlinks to open files and emails Get started with IronXL Start using IronXL in your project today with a free trial. First Step: Start for Free Create Link Hyperlink Example The Hyperlink property exists in the Cell class. The worksheet["A1"] code returns a Range object, you can use the First method to access the first cell in the range. Alternatively, you can directly access the cell using the GetCellAt method, allowing you to access the Hyperlink property directly. Let's explore an example of creating link hyperlinks. Both HTTP and HTTPS protocols are supported. WarningUsing the GetCellAt method to select an unmodified cell will throw 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") $vbLabelText $csharpLabel Demonstration Create Hyperlink Across Worksheet Example To create a hyperlink to a cell within the same worksheet, simply use the cell's address, such as Z20. However, to create a hyperlink across worksheets, you can use the address convention "worksheetName!address". For example, "Sheet2!A1". Define name cells can have either workbook(global) or worksheet scope. If you want to create a hyperlink to a defined name within the same worksheet or a defined name with workbook scope, you can specify the name directly. To create a hyperlink for a defined name with worksheet scope on a different worksheet, specify the worksheet name as mentioned above. For example, "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 Demonstration Create Other Types of Hyperlinks Example In addition to the hyperlink types mentioned earlier, IronXL also supports the creation of FTP, file, and email hyperlinks. FTP: Starting with ftp:// File: Specify an absolute path starting with file:/// Email: Starting with mailto: Please noteBoth FTP and File hyperlinks require the use of absolute paths. :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 Demonstration Remove Hyperlinks To remove a hyperlink, simply invoke the RemoveHyperlink method. This method can be accessed from the cell object. :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 Frequently Asked Questions How can I add hyperlinks to Excel cells using C#? You can add hyperlinks to Excel cells using IronXL by setting the Hyperlink property of a cell to a Uri object containing the desired link. This allows you to create clickable references to websites, emails, and files. What types of hyperlinks can be created in Excel using a .NET library? Using IronXL, you can create hyperlinks to HTTP and HTTPS URLs, FTP links, local file paths, email addresses, and even cell addresses within the same or different worksheets. How do you create a hyperlink to a cell in a different worksheet using C#? To create a hyperlink to a cell in a different worksheet using IronXL, you use the address format worksheetName!cellAddress. For example, to link to cell A1 on Sheet2, use Sheet2!A1. Can I remove a hyperlink from an Excel cell programmatically? Yes, you can remove a hyperlink from an Excel cell using IronXL by invoking the RemoveHyperlink method on the respective cell object. What is the advantage of using IronXL for setting hyperlinks in Excel over traditional methods? Using IronXL to set hyperlinks in Excel eliminates the need for Excel Interop, making the process faster and more efficient within .NET applications, without relying on Excel being installed on the server. How can I create an email hyperlink in an Excel file using C#? To create an email hyperlink in an Excel file using IronXL, set the Hyperlink property to a Uri object that begins with the 'mailto:' scheme, followed by the email address. Is it possible to create FTP and file hyperlinks using a .NET library? Yes, IronXL allows you to create FTP hyperlinks by starting with 'ftp://' and file hyperlinks using an absolute path starting with 'file:///'. How can I create a hyperlink to a defined name cell in Excel using C#? You can create a hyperlink to a defined name cell using IronXL by specifying the defined name directly if it has workbook scope, or by including the worksheet name as worksheetName!definedName if it has worksheet scope. Chaknith Bin Chat with engineering team now Software Engineer Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience. Ready to Get Started? Free NuGet Download Total downloads: 1,558,208 View Licenses