超链接是 Excel 中一个强有力的工具,它允许用户连接 Excel 文件的不同部分或链接到外部资源,例如网站、电子邮件地址或其他文件。它们为用户提供了一种在工作表内或不同工作表之间导航的快捷方式。除了便于导航之外,超链接还可以提供与文件中的数据相关的附加上下文或资源。例如,您可以链接到一个网站,该网站提供了有关工作表中所列出的特定产品的更多信息,可以帮助读者可以更深入地了解该产品。在本文中,我们将探讨如何向 Excel 添加超链接,特别是如何使用 Spire.XLS for C++ 在 C++ 中向 Excel 文件添加文本超链接和图像超链接。
安装 Spire.XLS for C++
有两种方法可以将 Spire.XLS for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire.XLS for C++ 集成到 C++ 程序中
在 Excel 中添加文本超链接
Excel 中的文本超链接是一个单词或短语,您可以单击它跳到特定位置,例如 Excel 文件的不同部分、电子邮件地址、网页或外部文件。以下步骤说明如何使用 Spire.XLS for C++ 将文本超链接添加到 Excel 文件:
- 初始化 Workbook 类的实例。
- 使用 Workbook->GetWorksheets()->Get(int index) 方法获取特定的工作表。
- 使用 Worksheet->GetRange(LPCWSTR_S name) 方法获取要添加超链接的单元格。
- 使用 Worksheet->GetHyperLinks()->Add(intrusive_ptr<IXLSRange> range) 方法将超链接添加到单元格。
- 使用 XlsHyperLink->SetType(HyperLinkType value)、XlsHyperLink->SetTextToDisplay(LPCWSTR_S value) 和 XlsHyperLink->SetAddress(LPCWSTR_S value) 方法设置超链接的类型、显示文本和地址。
- 使用 XlsWorksheet->AutoFitColumn(int columnIndex) 方法自动调整列宽。
- 使用 Workbook->SaveToFile(LPCWSTR_S fileName, ExcelVersion version) 方法保存结果文件。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main()
{
//初始化Workbook类的实例
intrusive_ptr<Workbook> workbook = new Workbook();
//获取特定的工作表
intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0));
//添加链接到网页的文本超链接
intrusive_ptr<CellRange> cell1 = dynamic_pointer_cast<CellRange>(sheet->GetRange(L"B3"));
intrusive_ptr<HyperLink> urlLink = sheet->GetHyperLinks()->Add(cell1);
urlLink->SetType(HyperLinkType::Url);
urlLink->SetTextToDisplay(L"链接到网站");
urlLink->SetAddress(L"https://www.e-iceblue.cn/");
//添加链接到电子邮件地址的文本超链接
intrusive_ptr<CellRange> cell2 = dynamic_pointer_cast<CellRange>(sheet->GetRange(L"E3"));
intrusive_ptr<HyperLink> mailLink = sheet->GetHyperLinks()->Add(cell2);
mailLink->SetType(HyperLinkType::Url);
mailLink->SetTextToDisplay(L"链接到邮件地址");
mailLink->SetAddress(L"mailto:support @e-iceblue.com");
//添加链接到外部文件的文本超链接
intrusive_ptr<CellRange> cell3 = dynamic_pointer_cast<CellRange>(sheet->GetRange(L"B7"));
intrusive_ptr<HyperLink> fileLink = sheet->GetHyperLinks()->Add(cell3);
fileLink->SetType(HyperLinkType::File);
fileLink->SetTextToDisplay(L"链接到外部文件");
fileLink->SetAddress(L"C:\\Users\\Administrator\\Desktop\\2022年度报告.xlsx");
//添加链接到工作簿文档指定工作表单元格的文本超链接
intrusive_ptr<CellRange> cell4 = dynamic_pointer_cast<CellRange>(sheet->GetRange(L"E7"));
intrusive_ptr<HyperLink> sheetLink = sheet->GetHyperLinks()->Add(cell4);
sheetLink->SetType(HyperLinkType::Workbook);
sheetLink->SetTextToDisplay(L"链接到工作簿文档的指定工作表单元格");
sheetLink->SetAddress(L"Sheet2!B5");
//添加链接到UNC地址的文本超链接
intrusive_ptr<CellRange> cell5 = dynamic_pointer_cast<CellRange>(sheet->GetRange(L"B11"));
intrusive_ptr<HyperLink> uncLink = sheet->GetHyperLinks()->Add(cell5);
uncLink->SetType(HyperLinkType::Unc);
uncLink->SetTextToDisplay(L"链接到UNC地址");
uncLink->SetAddress(L"\\192.168.0.121");
//自动调整列宽
sheet->AutoFitColumn(2);
sheet->AutoFitColumn(5);
//保存结果文件
workbook->SaveToFile(L"添加文本超链接.xlsx", ExcelVersion::Version2013);
workbook->Dispose();
}
在 Excel 中添加图像超链接
与文本超链接类似,图像超链接是可以让您单击以导航到特定位置的图像。以下步骤说明了如何使用 Spire.XLS for C++ 将图像超链接添加到 Excel 文件:
- 初始化 Workbook 类的实例。
- 使用 Workbook->GetWorksh eets()->Get(int index) 方法获取特定的工作表。
- 使用 Worksheetsheet->GetRange(LPCWSTR_S name)->SetText(LPCWSTR_S value) 方法将文本添加到特定单元格。
- 使用 Worksheet->GetPictures()->Add(int topRow,int leftColumn, LPCWSTR_S fileName) 方法将图像添加到特定单元格中。
- 设置图像的宽度和高度。
- 使用 XlsBitmapShape->SetHyperLink(LPCWSTR_S linkString, bool isExternal) 方法将超链接添加到图像。
- 使用 Workbook->SaveToFile(LPCWSTR_S fileName, ExcelVersion version) 方法保存结果文件。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main()
{
//初始化Workbook类的实例
intrusive_ptr<Workbook> workbook = new Workbook();
//获取特定的工作表
intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0));
//将文本添加到特定单元格
sheet->GetRange(L"A1")->SetText(L"图像超链接");
//将图像添加到特定单元格
intrusive_ptr<ExcelPicture> picture = ExcelPicture::Dynamic_cast<ExcelPicture>(sheet->GetPictures()->Add(2, 1, L"Logo.png"));
//设置图像宽度和高度
picture->SetWidth(100);
picture->SetHeight(100);
//向图像添加超链接
picture->SetHyperLink(L"https://www.e-iceblue.cn/", true);
//设置列宽
sheet->GetColumns()->GetItem(0)->SetColumnWidth(13);
//保存结果文件
workbook->SaveToFile(L"添加图像超链接.xlsx", ExcelVersion::Version2013);
workbook->Dispose();
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。