2013-07-02 3 views
3

Мне нужно создать «кнопку» на листе. Функция кнопки будет перенаправлять пользователя на другой рабочий лист. НАПРИМЕР. на листе «Графика» есть кнопка, которая перенаправляет пользователя на рабочий лист «Меню» при нажатии.Проблемы, связанные с гиперссылкой на фигуру/изображение

Я не могу просто установить гиперссылку в ячейку, потому что пользователю нужно будет щелкнуть по значению ячейки, чтобы получить перенаправление. Также сложнее сделать его похожим на правильную кнопку, поэтому я попытался установить гиперссылку в форме, но, по-видимому, 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"); 

Я попытался закрутить первый кусок кода, который я опубликовал, всячески старался, но все же я не могу получить результаты, которые я хочу.

Может ли кто-нибудь указать мне в правильном направлении? Возможно, кто-то был в подобной ситуации и нашел другой способ справиться с этой проблемой?

С уважением, Erick.

ответ

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.

+0

Это сработало! Я никогда бы не догадался, что .. большое спасибо! – ErickR

Смежные вопросы