Insert Hyperlinks into Excel or OpenOffice
Adding Hyperlinks
Aspose.Cells allows developers to add hyperlinks to Excel files either using the API or designer spreadsheets (spreadsheets where hyperlinks are created manually and Aspose.Cells is used to import them into other spreadsheets).
Aspose.Cells provides a class, Workbook that represents a Microsoft Excel file. The Workbook class contains a WorksheetCollection that allows access to each worksheet in the Excel file. A worksheet is represented by the Worksheet class. The Worksheet class provides different methods for adding different hyperlinks to Excel files.
Adding Link to a URL
The Worksheet class contains a getHyperlinks() collection. Each item in the getHyperlinks() collection represents a Hyperlink. Add hyperlinks to URLs by calling the Hyperlinks collection’s add method. The add method takes the following parameters:
- Cell name, the name of the cell the hyperlink will be added to.
- Number of rows, the number of rows in this hyperlink range.
- Number of columns, the number of columns in this hyperlink range.
- URL, the URL address.
const path = require("path"); | |
const AsposeCells = require("aspose.cells.node"); | |
// The path to the documents directory. | |
const dataDir = path.join(__dirname, "data"); | |
// Create directory if it is not already present. | |
const fs = require("fs"); | |
if (!fs.existsSync(dataDir)) { | |
fs.mkdirSync(dataDir); | |
} | |
// Instantiating a Workbook object | |
let workbook = new AsposeCells.Workbook(); | |
// Obtaining the reference of the first worksheet | |
let worksheet = workbook.getWorksheets().get(0); | |
// Adding a hyperlink to a URL at "A1" cell | |
worksheet.getHyperlinks().add("A1", 1, 1, "http://www.aspose.com"); | |
// Saving the Excel file | |
workbook.save(path.join(dataDir, "output.out.xls")); |
Adding a Link to a Cell in the Same File
It is possible to add hyperlinks to cells in the same Excel file by calling the Hyperlinks collection’s add method. The add method works for both internal and external hyperlinks. One version of the overloaded method takes the following parameters:
- Cell name, the name of the cell the hyperlink will be added to.
- Number of rows, the number of rows in this hyperlink range.
- Number of columns, the number of columns in this hyperlink range.
- URL, the address of the target cell.
const path = require("path"); | |
const AsposeCells = require("aspose.cells.node"); | |
// The path to the documents directory. | |
const dataDir = path.join(__dirname, "data"); | |
// Create directory if it is not already present. | |
const fs = require("fs"); | |
if (!fs.existsSync(dataDir)) { | |
fs.mkdirSync(dataDir); | |
} | |
// Instantiating a Workbook object | |
let workbook = new AsposeCells.Workbook(); | |
// Adding a new worksheet to the Workbook object | |
workbook.getWorksheets().add(); | |
// Obtaining the reference of the first (default) worksheet | |
let worksheet = workbook.getWorksheets().get(0); | |
// Adding an internal hyperlink to the "B3" cell of the other worksheet "Sheet2" in | |
// The same Excel file | |
worksheet.getHyperlinks().add("B3", 1, 1, "Sheet2!B9"); | |
// Saving the Excel file | |
workbook.save(path.join(dataDir, "output.out.xls")); |
Adding a Link to an External File
It is possible to add hyperlinks to external Excel files by calling the Hyperlinks collection’s add method. The add method takes the following parameters:
- Cell name, the name of the cell the hyperlink will be added to.
- Number of rows, the number of rows in this hyperlink range.
- Number of columns, the number of columns in this hyperlink range.
- URL, the address of the target, external Excel file.
const path = require("path"); | |
const AsposeCells = require("aspose.cells.node"); | |
// The path to the documents directory. | |
const dataDir = path.join(__dirname, "data"); | |
// Instantiating a Workbook object | |
const workbook = new AsposeCells.Workbook(); | |
// Adding a new worksheet to the Excel object | |
const i = workbook.getWorksheets().add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
const worksheet = workbook.getWorksheets().get(i); | |
// Adding an internal hyperlink to the "B9" cell of the other worksheet "Sheet2" in | |
// The same Excel file | |
worksheet.getHyperlinks().add("A5", 1, 1, path.join(dataDir, "book1.xls")); | |
// Saving the Excel file | |
workbook.save(path.join(dataDir, "output.out.xls")); |