Excel の文書プロパティは、ワークブックに関する追加情報を提供する重要なメタデータです。複数のワークブックを管理しており、作者、タイトルなどの情報を追跡したい場合に、これらの文書プロパティを読み取ることで迅速に情報を集めることができます。また、特定の状況では、Excel から文書プロパティを削除する必要が出てきます。例えば、機密データが文書プロパティに誤って保存されている場合、共有する前にこれらの文書プロパティを削除することで、データの安全と秘密保持を保証する必要があります。この記事では、Spire.XLS for 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>14.2.4</version>
</dependency>
</dependencies>
Excel から標準およびカスタムの文書プロパティを読み取る
標準的な文書プロパティは、Excel ファイル内に既に用意されているプロパティです。これらのプロパティには、作成者、タイトル、サブタイトル、キーワーなど、ファイルに関する詳細な情報が含まれます。Excel のカスタム文書プロパティは、ユーザーが特定の要件に基じて定義できるものです。カスタム文書プロパティの値は、テキスト、日時、数値、あるいは単純に「はい」か「いいえ」という形式で割り当てることができます。
次の手順は、Spire.XLS for Java を使用して Excel ファイルの標準的な文書プロパティとカスタム文書プロパティを読み取る方法を示しています。
- Workbook クラスのインスタンスを初期化します。
- Workbook.loadFromFile() メソッドを使用して、 Excel ファイルをロードします。
- StringBuilder クラスのインスタンスを初期化して、標準の文書プロパティとカスタム の文書プロパティを格納します。
- Workbook.getDocumentProperties() メソッドを使用して、ファイルのすべての標準の文書プロパティのコレクションを取得します。
- BuiltInDocumentProperties クラスの対応するメソッドを使用して、特定の標準の文書プロパティを取得します。
- 標準の文書プロパティを StringBuilder インスタンスに追加します。
- Workbook.getCustomDocumentProperties() メソッドを使用して、ファイルのすべてのカスタム の文書プロパティのコレクションを取得します。
- コレクションをループします。
- IDocumentProperty.getName() メソッドと IDocumentProperty.getValue() メソッドを使用して、各カスタムプロパティの名前と値を取得し、StringBuilder インスタンスに追加します。
- StringBuilder インスタンスの内容をテキスト ファイルに書き込みます。
- Java
import com.spire.xls.Workbook;
import com.spire.xls.collections.BuiltInDocumentProperties;
import com.spire.xls.core.ICustomDocumentProperties;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class ReadStandardDocumentProperties {
public static void main(String[] args) throws IOException {
//Workbook クラスのインスタンスを初期化する
Workbook workbook = new Workbook();
//Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
//StringBuilder クラスのインスタンスを初期化する
StringBuilder sb = new StringBuilder();
//すべての標準の文書プロパティのコレクションを取得する
BuiltInDocumentProperties standardProperties = workbook.getDocumentProperties();
//特定の標準の文書プロパティを取得する
String title = standardProperties.getTitle();
String subject = standardProperties.getSubject();
String author = standardProperties.getAuthor();
String keywords = standardProperties.getKeywords();
String manager = standardProperties.getManager();
String company = standardProperties.getCompany();
String category = standardProperties.getCategory();
String comments = standardProperties.getComments();
//標準の文書プロパティを StringBuilder インスタンスに追加する
sb.append("標準の文書プロパティ:"
+"\r\nタイトル: " + title
+ "\r\nサブタイトル: " + subject
+ "\r\n作成者: " + author
+ "\r\nキーワード: "+ keywords
+ "\r\n管理者: " + manager.toString()
+ "\r\n会社名: " + company.toString()
+ "\r\n分類: " + category.toString()
+ "\r\nコメント: " + comments.toString()
);
sb.append("\r\n\nカスタムの文書プロパティ:");
//すべてのカスタムの文書 プロパティのコレクションを取得する
ICustomDocumentProperties customProperties = workbook.getCustomDocumentProperties();
//コレクションをループする
for(int i =0; i < customProperties.getCount(); i++)
{
//各カスタムの文書プロパティの名前と値を StringBuilder インスタンスに追加する
sb.append("\r\n" + customProperties.get(i).getName() + ": " + customProperties.get(i).getValue());
}
//StringBuilder の内容をテキスト ファイルに書き込む
String output = "ReadDocumentProperties.txt";
FileWriter fw = new FileWriter(output, true);
BufferedWriter bw = new BufferedWriter(fw);
bw.append(sb);
bw.close();
fw.close();
workbook.dispose();
}
}
Excel から標準およびカスタムの文書プロパティを削除する
標準の文書プロパティの値を空に設定することで、Excel ファイルから標準の文書 プロパティを簡単に削除できます。カスタム 文書プロパティの場合は、ICustomDocumentProperties.remove() メソッドを使用して削除できます。
次の手順は、Spire.XLS for Java を使用して Excel ファイルから標準の文書プロパティとカスタムの文書プロパティを削除する方法を示しています。
- Workbook クラスのインスタンスを初期化します。
- Workbook.loadFromFile() メソッドを使用して Excel ファイルをロードします。
- Workbook.getDocumentProperties() メソッドを使用して、すべての標準の文書プロパティのコレクションを取得します。
- BuiltInDocumentProperties クラスの対応するメソッドを使用して、特定の標準の文書プロパティの値を空に設定します。
- Workbook.getCustomDocumentProperties() メソッドを使用して、すべてのカスタム 文書プロパティのコレクションを取得します。
- コレクションをループします。
- ICustomDocumentProperties.remove() メソッドを使用して、コレクションから各カスタムの文書プロパティを削除します。
- Workbook.saveToFile() メソッドを使用して結果ファイルを保存します。
- Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.collections.BuiltInDocumentProperties;
import com.spire.xls.core.ICustomDocumentProperties;
public class DeleteDocumentProperties {
public static void main(String[] args) {
//Workbook クラスのインスタンスを初期化する
Workbook workbook = new Workbook();
//Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
//すべての標準の文書プロパティのコレクションを取得する
BuiltInDocumentProperties standardProperties = workbook.getDocumentProperties();
//各標準な文書プロパティの値を空に設定する
standardProperties.setTitle("");
standardProperties.setSubject("");
standardProperties.setAuthor("");
standardProperties.setManager("");
standardProperties.setCompany("");
standardProperties.setCategory("");
standardProperties.setKeywords("");
standardProperties.setComments("");
//すべてのカスタム の文書プロパティのコレクションを取得する
ICustomDocumentProperties customProperties = workbook.getCustomDocumentProperties();
//コレクションをループする
for(int i = customProperties.getCount() - 1; i >= 0; i--)
{
//名前でコレクションから各カスタムの文書プロパティを削除する
customProperties.remove(customProperties.get(i).getName());
}
//結果ファイルを保存する
workbook.saveToFile("DeleteDocumentProperties.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。