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


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

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

由于其出色的性能、详尽的文档和示例代码,Apache POI是希望在Java中与MS Office文件交互的开发人员的首选。

用户可以通过在列中输入相关的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文件:转到=> Apache官方网站=>然后在二进制构件中下载所需版本。

  • 然后右键单击您的项目=>选择构建路径=>在库选项卡下,您会看到一个选项添加外部JAR=>选择上面下载文件中所有jar文件=>添加后选择应用并关闭

  • 根据您的需要命名工作簿,扩展名为.xlsx

  • 使用"new XSSFWorkbook()"来构造我们将创建电子表格的工作簿。

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

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

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

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

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

  • 我们将关闭文件连接。

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

  • 如果不是,我们将显示一条错误消息。

我们将创建一个超链接,该链接将把我们重定向到Tutorials Point页面。

示例

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 {
		//Name of the spreadsheet-replace as per the requirement
         String file_name = "TutorialsPoint.xlsx";
		//create a new WorkBook
         XSSFWorkbook wb = new XSSFWorkbook();
		// create a spreadsheet in the workbook and call it "Sheet1"
         XSSFSheet sheet = wb.createSheet("Sheet1");
		// creation of row
         XSSFRow r = sheet.createRow(1);
		//create a cell and pass cell index value
         XSSFCell c = r.createCell(1);
		// insert cell value and adding hyperlink to it
      c.setCellFormula(
         "HYPERLINK("https://tutorialspoint.com/index.htm", "Tutorials Point")");
      //In this try block, exceptions are checked.
      try {
         FileOutputStream output
         = new FileOutputStream(file_name);
         //Writing output to the workbook
         wb.write(output);
         //Closing the connection
         output.close();

         System.out.println(file_name + " is written successfully please check in current working directory to verify.");
      }
      //In this catch block, exceptions are handled.
      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如何帮助我们实现上述目标。

更新于:2023年10月16日

142 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告