如何使用 Java 在电子表格中创建超链接?

javaobject oriented programmingprogramming

Java 程序员可以使用广泛使用的 Apache POI API 创建、编辑和显示 MS Office 文件。通过其类和方法,这个由 Apache 软件基金会开发的开源库提供了多种功能,用于将用户输入的数据或文件转换为 Microsoft Office 文档。

Apache POI 的多功能性和可靠性使其成为全球开发人员的热门选择。其广泛的功能和顺畅的集成使其成为任何需要 MS Office 文件处理的项目的宝贵资产。API 的持续更新和活跃的社区保证它始终与最新的文件格式要求保持同步,确保跨 MS Office 版本的兼容性。

Apache POI 是希望在 Java 中与 MS Office 文件交互的开发人员的首选,因为它具有出色的性能、详尽的文档和示例代码。 Apache POI 提供了一种在电子表格中创建超链接的简便方法。

用户可以通过在列中输入相关 URL 来单击超链接,从而快速重定向到目标服务器或网页。此功能在处理大量数据集或提供需要立即访问额外资源的信息时特别有用。

现在让我们看看使用 java 在电子表格中创建超链接的方法 -

  • 确保包含将数据写入 Microsoft 格式文件(如 Excel(.xls、.xlsx)等)所需的所有必要 JAR 文件。

  • 包含所有 jar 后,我们将创建一个工作簿实例。

  • 在上面提到的工作表中,创建一个电子表格。

  • 使用 XSSFRow 创建行。

  • 使用 XSSFCell 创建单元格。

  • 通过指定某个单元格值创建连接它们的超链接。

  • 将数据写入工作簿我们将使用 FileOutputStream。

  • 最后我们将关闭文件连接。

上面提到的步骤将给我们一个高层次的了解。现在让我们深入了解程序

  • 首先我们需要在 Eclipse 中创建一个新的 maven 项目然后我们需要导入使用 Apache POI 创建工作簿所需的所有 jar 文件,您可以从 maven 存储库中获取此依赖项

例如 −


<dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi</artifactId>
   <version>4.1.2</version>
</dependency>

或者我们还有另一种方法可以一次导入所有 jar go to => apache 官方网站 => 然后在 binary Artifacts 下载所需版本

  • 然后右键单击您的项目 => 选择 Build Path => 在 libraries 选项卡下,您会看到一个选项 Add External Jars => 从上面下载的文件中选中所有 jars => 然后添加后选择 Apply and close.

  • 根据您的意愿使用扩展名 .xlsx 命名工作簿。

  • 使用 "new XSSFWorkbook()" 构建工作簿,我们将在其中创建电子表格。

  • 使用 "workbook.createSheet('Sheet1')" 创建电子表格在工作簿中,并将其命名为"Sheet1"。

  • 使用 XSSFRow 和 XSSFCell 创建行和单元格,其中行索引从 0 开始。

  • 使用 "cell.setCellFormula()" 创建超链接,使用 "cell.setCellValue()" 设置单元格的值;

  • 使用 FileOutputStream() 在当前工作目录中创建输出文件,我们将它放在 try-catch 块内。

  • 使用"workbook.write()"将其写入您在第一步中生成的工作簿。

  • 我们将关闭文件连接。

  • 当程序成功执行时,我们将在控制台中显示一条消息。

  • 如果没有,我们将显示错误消息。

我们将创建一个超链接,将我们重定向到教程点页面。

示例


import java.io.FileNotFoundException;
import java.io.FileOutputStream;

import org.apache.poi.xssf.usermodel.*;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class TutorialsPoint {
    public static void main( String[] args ) throws Exception {
        //电子表格的名称 - 根据要求替换
        String file_name = "TutorialsPoint.xlsx";
        //创建一个新的 WorkBook
        XSSFWorkbook wb = new XSSFWorkbook();
        //在工作簿中创建一个电子表格并将其命名为"Sheet1"
        XSSFSheet sheet = wb.createSheet("Sheet1");
        //创建行
        XSSFRow r = sheet.createRow(1);
        //创建一个单元格并传递单元格索引值
        XSSFCell c = r.createCell(1);
        //插入单元格值并向其添加超链接
        c.setCellFormula(
        "HYPERLINK("https://www.tutorialspoint.com/index.htm", "Tutorials Point")");
        //在此 try 块中,检查异常。
        尝试 {
        FileOutputStream output
        = new FileOutputStream(file_name);
        //将输出写入工作簿
        wb.write(output);
        //关闭连接
        output.close();
        
        System.out.println(file_name + " 已成功写入,请检查当前工作目录以进行验证。");
        }
        //在此 catch 块中,处理异常。
        catch (FileNotFoundException e) {
        	System.out.println("error:" + e.getMessage());
    	}
    }
}

输出

TutorialsPoint.xlsx is written successfully please check in current working directory to verify.

您将看到当前工作目录中下载了一个名为 TutorialsPoint 的文件。

当您打开电子表格时,我们将看到一个单元格,其中包含数据 Tutorials Point,单击该单元格时,它将重定向到 Tutorials Point 页面。

结论

在本文中,我们研究了使用 java 在电子表格中创建超链接,我们还了解了 Apache POI 如何帮助我们实现上述目标。


相关文章