¿Cómo crear un hipervínculo en una hoja de cálculo usando Java?

Apache POI es una API popular que permite a los programadores crear, modificar y mostrar archivos de MS Office usando programas Java. Es una biblioteca de código abierto desarrollada y distribuida por Apache Software Foundation para diseñar o modificar archivos de Microsoft Office usando programas Java. Contiene clases y métodos para decodificar los datos de entrada del usuario o un archivo en documentos de MS Office.

Apache POI nos permite crear hipervínculos en hojas de cálculo. Es útil establecer la dirección web en la celda y redirigirla al servidor cuando se hace clic.

Acercarse: 

  • Importe todos los archivos .jar necesarios como XSSF, XML y también puede agregar la dependencia Maven en el proyecto Maven como:
   <dependency>  
       <groupId>org.apache.poi</groupId>  
       <artifactId>poi</artifactId>  
       <version>3.9</version>  
   </dependency>
  • Crear una instancia del libro de trabajo
  • Cree una hoja de cálculo en el libro de trabajo anterior.
  • Crear filas usando XSSFRow
  • Cree una celda usando XSSFCell.
  • Establecer hipervínculo junto con el valor de la celda. valores de las celdas.
  • Escribir el contenido en el libro de trabajo definiendo el objeto de tipo FileOutputStream
  • Cierra la conexión del archivo.

Procedimiento:

  1. Cree un proyecto Maven en eclipse y agregue Apache POI (utilizado para establecer el tipo de valor de las celdas) y también importe todos los archivos .jar necesarios como HSSF, XML.
  2. Asigne el nombre al libro de trabajo.
  3. Cree un libro de trabajo usando «nuevo XSSFWorkbook()» en el que tenemos que crear la hoja de cálculo.
  4. Cree una hoja de cálculo en el libro de trabajo usando «workbook.createSheet(‘Sheet1’)» y también asigne el nombre a la hoja como «Sheet1»
  5. Cree una fila usando XSSFRow. Las filas están basadas en 0.
  6. Cree una celda usando XSSFCell.
  7. Establezca un hipervínculo usando cell.setCellFormula() junto con establezca un valor para una celda usando cell.setCellValue();
  8. Coloque el archivo de salida en la ubicación predeterminada y también manténgalo en el bloque try-catch usando FileOutputStream().
  9. Escríbalo en el libro de trabajo creado en el paso inicial usando workbook.write();
  10. Cierre el archivo de salida.
  11. Muestra un mensaje en la ventana de la consola cuando el programa se ejecuta con éxito.
  12. Muestra un mensaje de error en la ventana de la consola cuando el programa no tiene éxito, esta declaración se mantiene en el bloque catch.

Implementación: tomemos un ejemplo para crear un hipervínculo en la celda que redirige a la página principal de geeksforgeeks usando Java.

Ejemplo:

Java

// Java Program to Apply Hyperlink to a Cell
// in a Spreadsheet Using Apache POI
 
// Importing required classes
import java.io.*;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args) throws Exception
    {
        // Name of WorkBook (custom input)
        String excelfilename = "GeeksForGeeks.xlsx";
 
        // Creating a WorkBook by
        // creating an object of XSSFWorkbook class
        XSSFWorkbook workbook = new XSSFWorkbook();
 
        // Creating a Spread Sheet by creating an object of
        // XSSFSheet and also give name
        XSSFSheet spreadsheet
            = workbook.createSheet("Sheet1");
 
        // Creating a row
        XSSFRow row = spreadsheet.createRow(1);
 
        // Creating a cell and put a cell index value in it.
        XSSFCell cell = row.createCell(1);
 
        // Adding hyperlink along with cell value in it.
        cell.setCellFormula(
            "HYPERLINK(\"https://www.geeksforgeeks.org/\", \"click here\")");
 
        // Try block to check for exceptions
        try {
 
            // Step 9
            FileOutputStream outputfile
                = new FileOutputStream(excelfilename);
            workbook.write(outputfile);
 
            // Closing connections using close() method
            outputfile.close();
 
            // Step 11
            System.out.println(
                excelfilename + " is written successfully");
        }
 
        // Catch block to handle exceptions
        catch (FileNotFoundException e) {
 
            // Step 12
            System.out.println("ERROR!! " + e.getMessage());
        }
    }
}

Salida: En la ventana de la consola

A. Cuando el programa se ejecuta con éxito.

GeeksForGeeks.xlsx is written successfully.

B. Cuando el programa no se ejecuta con éxito. 

ERROR!! GeeksForGeeks.xlsx (The process cannot access the file because it is being used by another process)

Salida: Libro de trabajo (archivo de Excel)

Publicación traducida automáticamente

Artículo escrito por nandinigujral y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *