Вставка гиперссылок в 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, вызывая метод коллекции 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, вызывая метод 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");

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