在 Aspose.Cells 中使用超链接

Working with hyperlinks in Aspose.Cells

我正在使用 Aspose.Cells 生成一个 excel 文档,并且在文档中一些字段将包含 URL。我想让 URL 成为可点击的 link。我尝试使用

将 link 添加到 hyperlinks 集合
workSheet.Hyperlinks.Add(cell.Name, rowCount, columnCount, content);

这将根据需要添加 link,但如果用户在 Excel 中对文档进行排序,link 将保持附加到它的来源单元格。在 Excel 中排序的能力是一项要求。

我也试过了

cell.Formula = $"=HYPERLINK(\"{content}\",\"{content}\")";

然后将单元格样式设置为 hyperlink。这工作正常,links 将在单元格之后进行排序。缺点是,直到用户在 Excel 中启用编辑,才会显示 link。

是否有更好的方法将 hyperlink 添加到 Excel 和 Aspose.Cells?

请尝试以下示例代码并阅读其注释。它工作正常。请查看显示代码生成的输出 Excel 文件的屏幕截图。如果您对链接进行排序,它们将正确排序。

C#

//Create workbook
Workbook wb = new Workbook();

//Access first worksheet
Worksheet ws = wb.Worksheets[0];

//Add hyperlink in cell A1
int idx = ws.Hyperlinks.Add("A1", 1, 1, "https://forum.aspose.com/c/cells");
ws.Hyperlinks[idx].TextToDisplay = "Cells Link No: 11";

//Add hyperlink in cell A2
idx = ws.Hyperlinks.Add("A2", 1, 1, "https://forum.aspose.com/c/total");
ws.Hyperlinks[idx].TextToDisplay = "Total Link No: 16";

//Add hyperlink in cell A3
idx = ws.Hyperlinks.Add("A3", 1, 1, "https://forum.aspose.com/c/words");
ws.Hyperlinks[idx].TextToDisplay = "Words Link No: 29";

//Add hyperlink in cell A4
idx = ws.Hyperlinks.Add("A4", 1, 1, "https://forum.aspose.com/c/pdf");
ws.Hyperlinks[idx].TextToDisplay = "Pdf Link No: 13";

//Add hyperlink in cell A5
idx = ws.Hyperlinks.Add("A5", 1, 1, "https://forum.aspose.com");
ws.Hyperlinks[idx].TextToDisplay = "Forum Link No: 20";

//Add hyperlink in cell A6
idx = ws.Hyperlinks.Add("A6", 1, 1, "https://forum.aspose.com");
ws.Hyperlinks[idx].TextToDisplay = "Forum Link No: 15";

//Autofit columns
ws.AutoFitColumns();

//Save the output Excel file
wb.Save("output.xlsx");

截图:

注意:我在 Aspose 担任开发人员布道师