JavaとApache POIを使用したExcelファイルの外部リンク削除プログラムについて

はじめに

2023/3/20

Excelファイルを軽量化してセキュリティを向上させるためにハイパーリンクを削除する方法

前回はアドインで無効化する方法を書きましたが、そもそも元ファイルからハイパーリンクを削除してしまえばいいのでは? と思いプログラムを考えてみました。 Excelに設定されたハイパーリンクを削除するメリット ファイルサイズの軽減 ハイパーリンクはファイルサイズを増やす要因になります。削除することでファイルサイズを軽減することができます。 また、ファイルを開く際の起動時間も改善されます。 ファイルの見やすさの向上 イパーリンクが多く存在する場合、セル内の文字列が見づらくなることがあります。削除することでセル内 ...

2023/3/11

Excelのセキュリティ強化につながる?外部リンクやハイパーリンクを無効化するアドインの作成方法

はじめに Excelの外部リンクやハイパーリンクに関する問題 Excelは、複数のファイル間でデータを共有するために、外部リンクやハイパーリンク機能を提供しています。これらの機能を使用することで、Excelファイル内のデータを他のファイルと共有することができます。 しかし、外部リンクやハイパーリンクは、いくつかの問題を引き起こす可能性があります。例えば次のような問題があります。 リンクが切れた場合にデータが失われる 外部リンクは、別のファイル内のデータを参照するために使用されます。しかし、参照元のファイル ...

この記事では、Java言語を使用して外部リンクを除去するプログラムについて説明します。このプログラムは、Apache POIライブラリを使用してExcelファイルから外部リンクを削除します。このプログラムは、Apache POIのXSSFWorkbookクラスを使用して、Excelファイルを開いて、外部リンクのファイル名を設定し、最終的にファイルを保存します。

コードについて

このプログラムは、外部リンクを除去するためのJavaプログラムです。プログラムは、外部リンクを削除するために、Apache POIのXSSFWorkbookクラスを使用してExcelファイルを開きます。次に、ファイル名を設定して、外部リンクを削除したExcelファイルを保存します。以下に、このプログラムのコードを示します。

package externalLinkDel;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class RemoveExternalLinks {

    public static void main(String[] args) throws IOException {

        String inputFilePath = args[0].toString();

        try (FileInputStream fileInputStream = new FileInputStream(inputFilePath);
                XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream)) {

        	// 外部リンクのファイル名を入力ファイルに設定する
        	workbook.getExternalLinksTable().forEach(externalLink -> externalLink.setLinkedFileName(inputFilePath));
        	
            // 外部リンクを除去したExcelファイルを保存する
            try (FileOutputStream fileOutputStream = new FileOutputStream(inputFilePath)) {
                workbook.write(fileOutputStream);
            }
        }
    }
}

このプログラムは、外部リンクを削除するための簡単なJavaプログラムです。このプログラムは、外部リンクを削除するために、Apache POIライブラリを使用してExcelファイルを開きます。

このプログラムのmainメソッドは、Excelファイルのパスを引数として受け取ります。次に、FileInputStreamオブジェクトを作成し、XSSFWorkbookクラスを使用してExcelファイルを開きます。その後、外部リンクのファイル名を入力ファイルに設定するために、getExternalLinksTable()メソッドを使用します。最後に、除去したExcelファイルを保存するために、FileOutputStreamクラスを使用してExcelファイルを上書き保存します。

まとめ

このプログラムは、Apache POIライブラリを使用してExcelファイルから外部リンクを削除するための簡単なJavaプログラムです。外部リンクを除去するには、XSSFWorkbookクラスを使用してExcelファイルを開き、外部リンクのファイル名を入力ファイルに設定します。最後に、FileOutputStreamクラスを使用して、除去したExcelファイルを上書き保存します。

Excelファイルから外部リンクを簡単かつ迅速に削除するために役立ちます。また、Apache POIライブラリを使用してExcelファイルを操作するための基本的なコード例としても役立ちます。このプログラムを使用することで、Excelファイルの信頼性を高め、不必要な外部リンクを削除して、Excelファイルのファイルサイズを削減することができます。Jarファイルなどにしてぜひ活用してみてください。

スポンサーリンク

-IT関連
-, ,