将超链接与形状/图像相关联的问题

时间:2013-07-02 20:50:44

标签: .net c#-4.0 epplus

我需要在工作表中创建一个“按钮”。按钮的功能是将用户重定向到另一个工作表。例如。在工作表“图形”中,有一个按钮,用户在单击时将用户重定向到工作表“菜单”。

我不能简单地在单元格中设置超链接,因为用户需要单击单元格的值才能重定向。让它看起来像一个合适的按钮也更难,所以我尝试在一个形状中设置一个超链接,但显然,EPPlus不支持它。

我想出的最后一个解决方案是创建不同的图像,代表我想要使用的按钮,并设置一个超链接。这是我目前使用的代码:

using (Image img = Image.FromFile(imgFolder + Consts.MENU_BUTTON))
{
    worksheet.Drawings.AddPicture("Menu", img, new ExcelHyperLink("Menu!A1"));
}

这不起作用..但是如果我尝试使用类似的代码在单元格中设置超链接,它可以工作:

worksheet.Cells[3, 3].Hyperlink = new ExcelHyperLink("Menu!A1", "Menu");

我试图以我能尝试的各种方式扭曲我发布的第一块代码,但是,我似乎无法得到我想要的结果..

有人能指出我正确的方向吗?也许有人处于类似的情况,并找到另一种方法来处理这个问题?

祝你好运, 埃里克。

1 个答案:

答案 0 :(得分:2)

试试这个:

using (Image img = Image.FromFile(imgFolder + Consts.MENU_BUTTON))
{
    worksheet.Drawings.AddPicture("Menu", img, new ExcelHyperLink("#Menu!A1", UriKind.Relative));
}

注意“#Menu!A1”中的哈希值,以及UriKind.Relative的使用。