在 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 担任开发人员布道师
我正在使用 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 担任开发人员布道师