如何在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.tw/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 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告