ハイパーリンクは、クリックするだけでファイルやウェブサイト、電子メール、ドキュメントの特定の位置に移動できるため、発表資料やワークブックなどのドキュメントに広く使用されています。Office 文書では、テキストや画像にハイパーリンクを追加することができます。そして、ハイパーリンクを持つテキストは、通常、ユーザーがハイパーリンクに気付くことができるように、通常のテキストとは異なる形式になっています。今回は、Spire.XLS for Java ライブラリを使用して、Java で Excel にハイパーリンクを追加する方法を紹介します。
Spire.XLS for Java をインストールします
まず、Spire. XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>12.8.4</version>
</dependency>
</dependencies>
Excel ワークブックにテキストのハイパーリンクを挿入する
Excel ワークブックにテキストのハイパーリンクを挿入するには、Worksheet.getRange().get() で特定のセルを取得し、Worksheet.getHyperlinks().add() メソッドでハイパーリンクをそのセルに挿入することが必要です。詳細な手順は以下の通りです。
- Workbook クラスのインスタンスを作成します。
- Workbook.getWorksheets().get() メソッドを使用して、ワークシートを取得します。
- Worksheet.getRange().get() メソッドを使って、ハイパーリンクを追加したい特定のセルにアクセスします。
- Worksheet.getHyperLinks().add() メソッドを使用して、セルにハイパーリンクを追加します。
- XlsHyperLink.setType()、XlsHyperLink.setTextToDisplay()、XlsHyperLink.setAddress() メソッドを使用してハイパーリンクのタイプ、表示文字、アドレスを指定します。
- XlsWorksheet.autoFitColumn() メソッドを使用して、列幅の自動調整を行います。
- Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。
- Java
import com.spire.xls.*;
public class insertTextHyperlinks {
public static void main(String []args){
//Workbookクラスのインスタンスを作成する
Workbook workbook = new Workbook();
//1つ目のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//ウェブサイトへリンクするテキストのハイパーリンクを追加する
CellRange cell1 = sheet.getRange().get("B3");
HyperLink urlLink = sheet.getHyperLinks().add(cell1);
urlLink.setType(HyperLinkType.Url);
urlLink.setTextToDisplay("ウェブサイトへのリンク");
urlLink.setAddress("https://www.google.com/");
//電子メールにリンクするテキストのハイパーリンクを追加する
CellRange cell2 = sheet.getRange().get("E3");
HyperLink mailLink = sheet.getHyperLinks().add(cell2);
mailLink.setType(HyperLinkType.Url);
mailLink.setTextToDisplay("電子メールへのリンク");
mailLink.setAddress("mailto:このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。");
//外部ファイルへリンクするテキストのハイパーリンクを追加する
CellRange cell3 = sheet.getRange().get("B7");
HyperLink fileLink = sheet.getHyperLinks().add(cell3);
fileLink.setType(HyperLinkType.File);
fileLink.setTextToDisplay("外部ファイルへのリンク");
fileLink.setAddress("C:\\報告書.xlsx");
//他のシートのセルにリンクするテキストのハイパーリンクを追加する
CellRange cell4 = sheet.getRange().get("E7");
HyperLink linkToSheet = sheet.getHyperLinks().add(cell4);
linkToSheet.setType(HyperLinkType.Workbook);
linkToSheet.setTextToDisplay("シート2のセルへのリンク");
linkToSheet.setAddress("Sheet2!B5");
//UNCのアドレスにリンクするテキストのハイパーリンクを追加する
CellRange cell5 = sheet.getRange().get("B11");
HyperLink uncLink = sheet.getHyperLinks().add(cell5);
uncLink.setType(HyperLinkType.Unc);
uncLink.setTextToDisplay("UNCアドレスへのリンク");
uncLink.setAddress("\\\\192.168.0.1");
//列の幅を自動調整する
sheet.autoFitColumn(2);
sheet.autoFitColumn(5);
//ファイルを保存する
workbook.saveToFile("テキストのハイパーリンク.xlsx", ExcelVersion.Version2013);
}
}
Excel ワークブックに画像のハイパーリンクを挿入する
Excel ワークブックに画像のハイパーリンクを挿入するには、画像を挿入または取得し、XlsBitmapShape.setHyperLink() メソッドを使って画像にハイパーリンクを追加する必要があります。詳細な手順は以下の通りです。
- Workbook クラスのインスタンスを作成します。
- Workbook.getWorksheets().get() メソッドを使用して、ワークシートを取得します。
- Worksheet.getPictures().add() メソッドを使用して、ワークシートに画像を挿入し、列の幅と行の高さを設定します。
- XlsBitmapShape.setHyperLink() メソッドを使用して、画像にハイパーリンクを追加します。
- Workbook.saveToFile() メソッドで結果ファイルを保存します。
- Java
import com.spire.xls.ExcelPicture;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class insertImageHyperlinks {
public static void main(String []args){
//Workbookクラスのインスタンスを作成する
Workbook workbook = new Workbook();
//1つ目のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//ワークシートに画像を挿入する
ExcelPicture picture = sheet.getPictures().add(5, 3, "Spire.XLS for Java.png");
sheet.setRowHeight(5,60);
sheet.setColumnWidth(3,11);
//画像にハイパーリンクを追加する
picture.setHyperLink("https://www.e-iceblue.com", true);
//結果ファイルを保存する
workbook.saveToFile("画像のハイパーリンク.xlsx", ExcelVersion.Version2013);
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。