How to find and replace text in hyperlinks?
26 Apr 20244 minutes to read
The following code illustrates how to find and replace text in hyperlinks.
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
//Loads an existing file.
FileStream inputstream = new FileStream("InputTemplate.xlsx", FileMode.Open, FileAccess.Read);
IWorkbook workbook = application.Workbooks.Open(inputstream);
IWorksheet sheet = workbook.Worksheets[0];
//Find and Replace text in hyperlinks
for (int i = 0; i < sheet.HyperLinks.Count; i++)
{
IHyperLink hyperLink = sheet.HyperLinks[i];
string address = hyperLink.Address;
string displayText = hyperLink.TextToDisplay;
hyperLink.Address = address.Replace("http://", "https://");
if (!string.IsNullOrEmpty(displayText))
hyperLink.TextToDisplay = displayText.Replace("http://", "https://");
}
// Saving the workbook
FileStream outputstream = new FileStream("Output.xlsx", FileMode.Create, FileAccess.ReadWrite);
workbook.SaveAs(outputstream);
outputstream.Dispose();
}
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
//Loads an existing file.
IWorkbook workbook = application.Workbooks.Open("InputTemplate.xlsx");
IWorksheet sheet = workbook.Worksheets[0];
//Find and Replace text in hyperlinks
for (int i = 0; i < sheet.HyperLinks.Count; i++)
{
IHyperLink hyperLink = sheet.HyperLinks[i];
string address = hyperLink.Address;
string displayText = hyperLink.TextToDisplay;
hyperLink.Address = address.Replace("http://", "https://");
if (!string.IsNullOrEmpty(displayText))
hyperLink.TextToDisplay = displayText.Replace("http://", "https://");
}
// Saving the workbook
workbook.SaveAs("Output1.xlsx");
}
Using excelEngine As ExcelEngine = New ExcelEngine()
Dim application As IApplication = excelEngine.Excel
application.DefaultVersion = ExcelVersion.Xlsx
'Loads an existing file.
Dim workbook As IWorkbook = application.Workbooks.Open("InputTemplate.xlsx")
Dim sheet As IWorksheet = workbook.Worksheets(0)
'Find and Replace text in hyperlinks
For i As Integer = 0 To sheet.HyperLinks.Count - 1
Dim hyperLink As IHyperLink = sheet.HyperLinks(i)
Dim address As String = hyperLink.Address
Dim displayText As String = hyperLink.TextToDisplay
hyperLink.Address = address.Replace("http://", "https://")
If Not String.IsNullOrEmpty(displayText) Then
hyperLink.TextToDisplay = displayText.Replace("http://", "https://")
End If
Next
'Saving the workbook
workbook.SaveAs("Output.xlsx")
End Using