[]
        
(Showing Draft Content)

形状上的超链接

在GcExcel中,可以将超链接添加到各种形状类型,例如基本形状,图表,连接器,图片和组形状。通过单击形状,用户可以快速导航到网页,外部文件,同一工作簿中的特定范围或电子邮件地址上的相关信息。

注意: 无法将超链接添加到注释和切片器的形状类型。

可以使用IHyperlink接口的以下属性来配置超链接。

  1. IHyperlink接口的setSubAddresssetAddress方法可用于配置超链接引用。下表显示了这两个属性的示例:


    链接到

    地址

    子地址

    外部文件

    示例: "C:\Users\Desktop\test.xlsx"

    null

    网页

    示例: "http://www.grapecity.com/"

    null

    本文档区域

    示例: null

    "Sheet1!$C$3:$E$4"

    电子邮件地址

    示例: "mailto: abc.xyz@grapecity.com"

    null

  2. setEmailSubject 方法可以用来设置超链接的电子邮件主题行的文本。

  3. setScreenTip方法可用于设置指定的超链接的提示文本。

  4. setTextToDisplay 方法可用于设置要显示指定超链接的文本。

添加超链接

用户可以使用IHyperLinksAdd方法将超链接添加到工作表中的形状。

请参考以下示例代码,在形状上插入超链接,以链接到外部文件,网页,工作表中的区域和电子邮件地址。

// Add a hyperlink to external file
        
// Initialize workbook
Workbook workbook = new Workbook();
// Fetch default worksheet
IWorksheet worksheet = workbook.getWorksheets().get(0);
// Add a Shape
IShape shape = worksheet.getShapes().addShape(AutoShapeType.Oval, 1, 1, 200, 100);
shape.getTextFrame().getTextRange().getParagraphs().add("Link to Test.xlsx file");
// Add Hyperlink
worksheet.getHyperlinks().add(shape, "C:\\Test.xlsx", null, "Link to Test.xlsx file", "Test.xlsx");

// Save to an excel file
workbook.save("402-LinkExternalFile.xlsx", SaveFileFormat.Xlsx);
// Add a hyperlink to web page
        
// Add a Shape
IShape picture = null;
try {
    picture = worksheet.getShapes().addPicture("grapecity-logo.jpg", 1, 1, 100, 100);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
// Add Hyperlink
worksheet.getHyperlinks().add(picture, "https://www.grapecity.com.cn/", null, "Click to Open", "GrapeCity");
// Save to an excel file
workbook.save("401-ShapeHyperlink.xlsx", SaveFileFormat.Xlsx);
// Add a Shape
IShape shape = worksheet.getShapes().addShape(AutoShapeType.Oval, 1, 1, 200, 100);
shape.getTextFrame().getTextRange().getParagraphs().add("Go To sheet1 J3:K4");
// Add Hyperlink
worksheet.getHyperlinks().add(shape, null, "Sheet1!J3:K4", "Go To Sheet1 D3:E4", null);

// Save to an excel file
workbook.save("403-HyperlinkRange.xlsx", SaveFileFormat.Xlsx);
//Add a hyperlink to email address.
        
// Add a Shape
IShape shape = worksheet.getShapes().addShape(AutoShapeType.Oval, 1, 1, 200, 100);
shape.getTextFrame().getTextRange().getParagraphs().add("Send Feedback");
// Add Hyperlink
worksheet.getHyperlinks().add(shape, "mailto:web_feedback@grapecity.com", null, "Send your valuable feedback.",
        "Feedback");

// Save to an excel file
workbook.save("404-HyperlinkMailTo.xlsx", SaveFileFormat.Xlsx);

删除超链接

可以使用IHyperlink接口的Delete方法删除形状上的超链接 。

请参考以下示例代码以删除超链接。

//Delete a hyperlink.
        
// Add a Shape
IShape shape = worksheet.getShapes().addShape(AutoShapeType.Oval, 1, 1, 200, 100);

// Create Hyperlinks
IHyperlink hyperlink1 = worksheet.getHyperlinks().add(shape, "https://www.grapecity.com.cn/", null, "Click to Open",
        "GrapeCity");

// Delete hyperlink1.
hyperlink1.delete();

// Save to an excel file
workbook.save("405-DeleteHyperlink.xlsx", SaveFileFormat.Xlsx);