Вставка гиперссылок в Excel или OpenOffice

Добавление гиперссылок для связи данных

Добавление гиперссылок

С помощью Aspose.Cells можно добавлять три типа гиперссылок в ячейку:

Aspose.Cells позволяет разработчикам добавлять гиперссылки в файлы Excel с помощью API или дизайнерских электронных таблиц (электронные таблицы, в которых гиперссылки создаются вручную, а Aspose.Cells используется для их импорта в другие электронные таблицы).

Aspose.Cells создает класс Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит WorksheetCollection, которая позволяет получить доступ к каждому листу в файле Excel. Лист представлен классом Worksheet. Класс Worksheet предоставляет различные методы для добавления различных гиперссылок в файлы Excel.

Добавление ссылки на URL

Класс Worksheet содержит коллекцию Hyperlinks. Каждый элемент коллекции Hyperlinks представляет Hyperlink. Чтобы добавить гиперссылки на URL, вызовите метод Add  коллекции Hyperlinks. Метод Add  принимает следующие параметры:

  • Имя ячейки, в которую будет добавлена гиперссылка.
  • Количество строк, количество строк в этом диапазоне гиперссылок.
  • Количество столбцов, количество столбцов в этом диапазоне гиперссылок.
  • URL-адрес, адрес URL.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingLinkToURL.class) + "data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the first worksheet.
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);
HyperlinkCollection hyperlinks = sheet.getHyperlinks();
// Adding a hyperlink to a URL at "A1" cell
hyperlinks.add("A1", 1, 1, "http://www.aspose.com");
// Saving the Excel file
workbook.save(dataDir + "AddingLinkToURL_out.xls");
// Print message
System.out.println("Process completed successfully");

В приведенном выше примере гиперссылка добавляется на URL в пустую ячейку A1. В таких случаях, если ячейка пуста, то адрес URL также добавляется в эту пустую ячейку в качестве ее значения. Если ячейка не пуста и в нее добавлена гиперссылка, значение ячейки выглядит как обычный текст. Чтобы сделать его похожим на гиперссылку, примените соответствующие параметры форматирования на эту ячейку.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingLinkToURLNotEmpty.class) + "data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the first worksheet.
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);
// Setting a value to the "A1" cell
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue("Visit Aspose");
// Setting the font color of the cell to Blue
Style style = cell.getStyle();
style.getFont().setColor(Color.getBlue());
// Setting the font of the cell to Single Underline
style.getFont().setUnderline(FontUnderlineType.SINGLE);
cell.setStyle(style);
HyperlinkCollection hyperlinks = sheet.getHyperlinks();
// Adding a hyperlink to a URL at "A1" cell
hyperlinks.add("A1", 1, 1, "http://www.aspose.com");
// Saving the Excel file
workbook.save(dataDir + "AddingLinkToURLNotEmpty_out.xls");

Добавление ссылки на ячейку в том же файле

Возможно добавить гиперссылки на ячейки в том же файле Excel, вызвав метод Add  коллекции Hyperlinks. Метод Add  работает как для внутренних, так и для внешних гиперссылок. Одна из версий перегруженного метода принимает следующие параметры:

  • Имя ячейки, в которую будет добавлена гиперссылка.
  • Количество строк, количество строк в этом диапазоне гиперссылок.
  • Количество столбцов, количество столбцов в этом диапазоне гиперссылок.
  • URL, адрес целевой ячейки.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingLinkToAnotherCell.class) + "data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the first worksheet.
WorksheetCollection worksheets = workbook.getWorksheets();
workbook.getWorksheets().add();
Worksheet sheet = worksheets.get(0);
// Setting a value to the "A1" cell
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue("Visit Aspose");
// Setting the font color of the cell to Blue
Style style = cell.getStyle();
style.getFont().setColor(Color.getBlue());
// Setting the font of the cell to Single Underline
style.getFont().setUnderline(FontUnderlineType.SINGLE);
cell.setStyle(style);
HyperlinkCollection hyperlinks = sheet.getHyperlinks();
// Adding an internal hyperlink to the "B9" cell of the other worksheet "Sheet2" in the same Excel file
hyperlinks.add("B3", 1, 1, "Sheet2!B9");
// Saving the Excel file
workbook.save(dataDir + "ALinkTACell_out.xls");
// Print message
System.out.println("Process completed successfully");

Добавление ссылки на внешний файл

Возможно добавить гиперссылки на внешние файлы Excel, вызвав метод Add коллекции Hyperlinks . Метод Add принимает следующие параметры:

  • Имя ячейки, в которую будет добавлена гиперссылка.
  • Количество строк, количество строк в этом диапазоне гиперссылок.
  • Количество столбцов, количество столбцов в этом диапазоне гиперссылок.
  • URL, адрес цели, внешний файл Excel.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingLinkToExternalFile.class) + "data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the first worksheet.
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);
// Setting a value to the "A1" cell
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue("Visit Aspose");
// Setting the font color of the cell to Blue
Style style = cell.getStyle();
style.getFont().setColor(Color.getBlue());
// Setting the font of the cell to Single Underline
style.getFont().setUnderline(FontUnderlineType.SINGLE);
cell.setStyle(style);
HyperlinkCollection hyperlinks = sheet.getHyperlinks();
// Adding a link to the external file
hyperlinks.add("A5", 1, 1, dataDir + "book1.xls");
// Saving the Excel file
workbook.save(dataDir + "ALToEFile_out.xls");
// Print message
System.out.println("Process completed successfully");

Продвинутые темы