Управление гиперссылками в листе Excel
Работа с гиперссылками
Типы гиперссылок
В целом, Aspose.Cells.GridWeb поддерживает следующие типы гиперссылок:
- URL-гиперссылки, гиперссылки, которые можно связать с веб-URL-адресами.
- Текстовые гиперссылки, URL-гиперссылки, примененные к тексту.
- Гиперссылки на изображения, URL-гиперссылки, примененные к изображениям.
- Гиперссылки команд ячейки, гиперссылки, которые отправляют данные на сервер. Такие гиперссылки действуют более как кнопка, которая вызывает событие на стороне сервера при нажатии.
В следующих разделах описывается использование всех типов гиперссылок более подробно. Также обсуждается доступ к гиперссылкам или их удаление.
Добавление гиперссылок
URL-гиперссылки
URL-гиперссылки выглядят более простыми гиперссылками, которые обычно видны на веб-сайтах. URL-гиперссылка работает как якорь в ячейке. При нажатии она переходит на веб-страницу или открывает новое окно браузера.
Существуют разные типы URL-гиперссылок:
- Текстовые гиперссылки.
- Гиперссылки на изображения.
Разработчики могут указать изображение для гиперссылки. Если изображение не указано, создается текстовая гиперссылка; в противном случае создается гиперссылка изображения.
Текстовые гиперссылки
Чтобы добавить текстовую гиперссылку на лист:
- Добавьте элемент управления Aspose.Cells.GridWeb на свою веб-форму.
- Получите доступ к листу.
- Добавьте гиперссылку в ячейку листа.
- Установите текст, который будет отображаться в ячейке.
- Установите URL гиперссылки.
- Установите цель гиперссылки, если необходимо.
- Установите подсказку, если это необходимо.
Приведенный ниже пример добавляет две гиперссылки на лист. Одна без цели, а другая установлена на _parent.
Вывод: текстовые гиперссылки добавлены на лист
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex]; | |
// Adds a text hyperlink that goes to Aspose site and opens in new window | |
int linkIndex = sheet.Hyperlinks.Add("B1", "http://www.aspose.com"); | |
GridHyperlink link1 = sheet.Hyperlinks[linkIndex]; | |
link1.Target = "_blank"; | |
// Setting text and tool tip of the hyperlink | |
link1.TextToDisplay = "Aspose"; | |
link1.ScreenTip = "Open Aspose Web Site in new window"; | |
// Adding hyperlink to the worksheet to open in parent window | |
linkIndex = sheet.Hyperlinks.Add("B2", "http://www.aspose.com/docs/display/cellsnet/Aspose.Cells.GridWeb"); | |
GridHyperlink link2 = sheet.Hyperlinks[linkIndex]; | |
link2.Target = "_parent"; | |
// Setting text and tool tip of the hyperlink | |
link2.TextToDisplay = "Aspose.Grid Docs"; | |
link2.ScreenTip = "Open Aspose.Grid Docs in parent window"; |
Изображение гиперссылки
Чтобы добавить изображение гиперссылки:
- Добавьте элемент управления Aspose.Cells.GridWeb на свою веб-форму.
- Получите доступ к листу.
- Добавьте гиперссылку в ячейку.
- Установите URL изображения, которое будет отображаться как гиперссылка.
- Установите URL гиперссылки.
- Установите подсказку, если это необходимо.
- Установите текст гиперссылки, если это необходимо.
Вывод: изображения гиперссылок добавлены в лист
Setting the image hyperlink’s AltText fills a similar function as setting an
Изображение по URL-адресу не найдено
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex]; | |
// Adding hyperlink to the worksheet | |
int linkIndex = sheet.Hyperlinks.Add("B5", "http://www.aspose.com"); | |
GridHyperlink link1 = sheet.Hyperlinks[linkIndex]; | |
link1.Target = "_blank"; | |
// Setting Image URL and tool tip of hyperlink | |
link1.ImageURL = "../Images/Aspose.Banner.gif"; | |
link1.ScreenTip = "Open Aspose Web Site in new window"; | |
// Adding hyperlink to the worksheet | |
linkIndex = sheet.Hyperlinks.Add("B6", "http://www.aspose.com/docs/display/cellsnet/Aspose.Cells.GridWeb"); | |
GridHyperlink link2 = sheet.Hyperlinks[linkIndex]; | |
link2.Target = "_blank"; | |
// Setting URL, tool tip and alt text of hyperlink | |
link2.ImageURL = "../Images/Aspose.Grid.gif"; | |
link2.ScreenTip = "Open Aspose.Grid Docs in new window"; | |
link2.AltText = "Open Aspose.Grid Docs in new window"; | |
// Resize the rows to display image nicely | |
sheet.Cells.SetRowHeight(4, 40); | |
sheet.Cells.SetRowHeight(5, 40); |
Гиперссылки ячейки команд
Гиперссылка ячейки команды - это специальный тип гиперссылки, который запускает событие на стороне сервера вместо открытия веб-страницы. Разработчики могут добавить код к событию на стороне сервера и выполнить любую задачу при нажатии на гиперссылку. Эта функция позволяет разработчикам создавать более интерактивные приложения.
Для добавления гиперссылки ячейки команды:
- Добавьте элемент управления Aspose.Cells.GridWeb на свою веб-форму.
- Получите доступ к листу.
- Добавьте гиперссылку в ячейку.
- Установите любое желаемое значение для команды гиперссылки. Данное значение используется обработчиком событий гиперссылки для его распознавания.
- Установите подсказку, если это необходимо.
- Установите URL для изображения, которое будет отображаться в качестве гиперссылки.
Гиперссылка ячейки команды была добавлена в лист
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex]; | |
// Adding hyperlink to the worksheet | |
int linkIndex = sheet.Hyperlinks.Add("B8", ""); | |
GridHyperlink link1 = sheet.Hyperlinks[linkIndex]; | |
// Setting the cell command, tool tip and image URL for the hyperlink | |
link1.Command = "Click"; | |
link1.ScreenTip = "Click Here"; | |
link1.ImageURL = "../Images/button.jpg"; | |
// Resize the row to display image nicely | |
sheet.Cells.SetRowHeight(7, 30); |
Обработка событий гиперссылки ячейки команды
Разработчикам необходимо создать обработчик событий для события CellCommand элемента управления GridWeb, чтобы выполнять конкретные задачи при щелчке на конкретную гиперссылку ячейки команды. Обработчик событий CellCommand предоставляет объект типа CellEventArgs, который предоставляет свойство Argument. Используйте свойство Argument для идентификации конкретной гиперссылки путем сравнения ее значения CellCommand.
Ниже приведен пример создания обработчика событий для гиперссылки ячейки команды, созданной в коде выше. Значение CellCommand гиперссылки было установлено на Click. Поэтому в обработчике событий сначала это значение проверяется, а затем добавляется код, который отображает сообщение в ячейке A6.
Обработчик событий вызывается при щелчке на гиперссылку.
Вывод: текст добавляется в ячейку A6 при щелчке на гиперссылку
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Event Handler for CellCommand event | |
protected void GridWeb1_CellCommand(object sender, Aspose.Cells.GridWeb.CellEventArgs e) | |
{ | |
// Checking the CellCommand of the hyperlink | |
if (e.Argument.Equals("Click")) | |
{ | |
// Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex]; | |
// Adding value to "C8" cell | |
sheet.Cells["C8"].PutValue("Cell Command Hyperlink Clicked"); | |
// Resize the column to display message nicely | |
sheet.Cells.SetColumnWidth(2, 250); | |
} | |
} |
Доступ к гиперссылкам
Для доступа к существующей гиперссылке:
- Получите доступ к ячейке, содержащей ее.
- Получите ссылку на ячейку.
- Передайте ссылку на метод GetHyperlink коллекции Hyperlinks, чтобы получить доступ к гиперссылке.
- Измените свойства гиперссылки.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex]; | |
// Accessing a specific cell that contains hyperlink | |
GridCell cell = sheet.Cells["B1"]; | |
// Accessing the hyperlink from the specific cell | |
GridHyperlink link = sheet.Hyperlinks.GetHyperlink(cell); | |
if (link != null) | |
{ | |
// Modifying the text and URL of hyperlink | |
link.TextToDisplay = "Aspose.Blogs"; | |
link.Address = "http://www.aspose.com/Community/Blogs"; | |
} |
Удаление гиперссылок
Чтобы удалить гиперссылку:
- Получите доступ к активному листу.
- Удалите гиперссылку, используя метод Remove коллекции Hyperlinks.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex]; | |
// Removing hyperlink from the specific cell | |
sheet.Hyperlinks.Remove(new Data.GridCellArea() {StartRow = 0, EndRow = 0, StartColumn = 1, EndColumn = 1}); | |