Initial commit of the ClosedXML library
Establishes the foundational structure, core Excel functionality, and tooling. - Implements base components for cells, ranges, columns, and rows. - Integrates a custom calculation engine with a wide range of Excel functions. - Adds comprehensive support for styling, conditional formatting, data validation, comments, pictures, and charts. - Configures build setup, project metadata (NuGet), and developer guidelines. - Includes editor and Git attributes for consistent code style and line endings.
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
using System;
|
||||
using ClosedXML.Excel;
|
||||
|
||||
|
||||
namespace ClosedXML_Examples.Misc
|
||||
{
|
||||
public class Hyperlinks : IXLExample
|
||||
{
|
||||
#region Variables
|
||||
|
||||
// Public
|
||||
|
||||
// Private
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
|
||||
// Public
|
||||
|
||||
// Private
|
||||
|
||||
// Override
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Events
|
||||
|
||||
// Public
|
||||
|
||||
// Private
|
||||
|
||||
// Override
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
// Public
|
||||
public void Create(String filePath)
|
||||
{
|
||||
var wb = new XLWorkbook();
|
||||
var ws = wb.Worksheets.Add("Hyperlinks");
|
||||
wb.Worksheets.Add("Second Sheet");
|
||||
|
||||
Int32 ro = 0;
|
||||
|
||||
// You can create a link with pretty much anything you can put on a
|
||||
// browser: http, ftp, mailto, gopher, news, nntp, etc.
|
||||
|
||||
ws.Cell(++ro, 1).Value = "Link to a web page, no tooltip - Yahoo!";
|
||||
ws.Cell(ro, 1).Hyperlink = new XLHyperlink(@"http://www.yahoo.com");
|
||||
|
||||
ws.Cell(++ro, 1).Value = "Link to a web page, with a tooltip - Yahoo!";
|
||||
ws.Cell(ro, 1).Hyperlink = new XLHyperlink(@"http://www.yahoo.com", "Click to go to Yahoo!");
|
||||
|
||||
ws.Cell(++ro, 1).Value = "Link to a file - same folder";
|
||||
ws.Cell(ro, 1).Hyperlink = new XLHyperlink("Test.xlsx");
|
||||
|
||||
ws.Cell(++ro, 1).Value = "Link to a file - Absolute";
|
||||
ws.Cell(ro, 1).Hyperlink = new XLHyperlink(@"D:\Test.xlsx");
|
||||
|
||||
ws.Cell(++ro, 1).Value = "Link to a file - relative address";
|
||||
ws.Cell(ro, 1).Hyperlink = new XLHyperlink(@"../Test.xlsx");
|
||||
|
||||
ws.Cell(++ro, 1).Value = "Link to an address in this worksheet";
|
||||
ws.Cell(ro, 1).Hyperlink = new XLHyperlink("B1");
|
||||
|
||||
ws.Cell(++ro, 1).Value = "Link to an address in another worksheet";
|
||||
ws.Cell(ro, 1).Hyperlink = new XLHyperlink("'Second Sheet'!A1");
|
||||
|
||||
// You can also set the properties of a hyperlink directly:
|
||||
|
||||
ws.Cell(++ro, 1).Value = "Link to a range in this worksheet";
|
||||
ws.Cell(ro, 1).Hyperlink.InternalAddress = "B1:C2";
|
||||
ws.Cell(ro, 1).Hyperlink.Tooltip = "SquareBox";
|
||||
|
||||
ws.Cell(++ro, 1).Value = "Link to an email message";
|
||||
ws.Cell(ro, 1).Hyperlink.ExternalAddress = new Uri(@"mailto:SantaClaus@NorthPole.com?subject=Presents");
|
||||
|
||||
// Deleting a hyperlink
|
||||
ws.Cell(++ro, 1).Value = "This is no longer a link";
|
||||
ws.Cell(ro, 1).Hyperlink.InternalAddress = "A1";
|
||||
ws.Cell(ro, 1).Hyperlink.Delete();
|
||||
|
||||
// Setting a hyperlink preserves previous formatting:
|
||||
ws.Cell(++ro, 1).Value = "Odd looking link";
|
||||
ws.Cell(ro, 1).Style.Font.FontColor = XLColor.Red;
|
||||
ws.Cell(ro, 1).Style.Font.Underline = XLFontUnderlineValues.Double;
|
||||
ws.Cell(ro, 1).Hyperlink = new XLHyperlink(ws.Range("B1:C2"));
|
||||
|
||||
// Hyperlink via formula
|
||||
ws.Cell( ++ro, 1 ).SetValue( "Send Email" )
|
||||
.SetFormulaA1( "=HYPERLINK(\"mailto:test@test.com\", \"Send Email\")" )
|
||||
.Hyperlink = new XLHyperlink( "mailto:test@test.com", "'Send Email'" );
|
||||
|
||||
// List all hyperlinks in a worksheet:
|
||||
var hyperlinksInWorksheet = ws.Hyperlinks;
|
||||
|
||||
// List all hyperlinks in a range:
|
||||
var hyperlinksInRange = ws.Range("A1:A3").Hyperlinks;
|
||||
|
||||
// Clearing a cell with a hyperlink
|
||||
ws.Cell(++ro, 1).Value = "ERROR!";
|
||||
ws.Cell(ro, 1).Hyperlink.InternalAddress = "A1";
|
||||
ws.Cell(ro, 1).Clear();
|
||||
|
||||
// Deleting a cell with a hyperlink
|
||||
ws.Cell(++ro, 1).Value = "ERROR!";
|
||||
ws.Cell(ro, 1).Hyperlink.InternalAddress = "A1";
|
||||
ws.Cell(ro, 1).Clear();
|
||||
|
||||
ws.Columns().AdjustToContents();
|
||||
|
||||
wb.SaveAs(filePath);
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
// Override
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user