In der modernen Softwareentwicklung spielt die Fähigkeit, Metadaten aus Dateien zu extrahieren und zu verarbeiten, in verschiedenen Anwendungen eine entscheidende Rolle. Metadaten, die Daten wie Autorschaft, Erstellungsdatum und Dokumenteigenschaften umfassen, bieten wertvolle Einblicke in Dateien und erleichtern eine effektive Dateiverwaltung. Insbesondere für Excel-Dateien im Format .xlsx erweist sich der programmgesteuerte Zugriff auf Metadaten als besonders vorteilhaft. Diese Anleitung befasst sich eingehend mit dem Lesen von Metadaten aus XLSX mit der Programmiersprache Java. Hier finden Sie die wesentlichen Schritte sowie ein Codebeispiel, das veranschaulicht, wie Sie Metadaten von XLSX mit Java lesen.
Schritte zum Lesen von Metadaten aus XLSX mit Java
- Richten Sie Ihre IDE so ein, dass sie GroupDocs.Metadata for Java zum Extrahieren von Metadaten aus XLSX-Dateien verwendet
- Erstellen Sie eine Instanz der Klasse Metadata und übergeben Sie den Dateipfad der XLSX-Datei als Argument an ihren Konstruktor.
- Erstellen Sie eine Regel oder Bedingung zur Überprüfung aller Metadatenattribute
- Definieren Sie eine Bedingung für die Methode Metadata.findProperties
- Durchlaufen der abgerufenen Eigenschaften
XLSX ist ein weit verbreitetes Dateiformat für Tabellenkalkulationen, das insbesondere mit Microsoft Excel in Verbindung gebracht wird. Neben den eigentlichen Daten der Tabellenkalkulation enthalten XLSX-Dateien Metadaten, die verschiedene Aspekte der Datei detailliert beschreiben. Diese Metadaten umfassen Informationen wie den Titel des Dokuments, den Autor, Erstellungs- und Änderungsdaten und mehr. Der programmgesteuerte Zugriff auf diese Metadaten ermöglicht es Entwicklern, Aufgaben zu automatisieren, Analysen durchzuführen oder die Benutzererfahrung in ihren Anwendungen zu verbessern. Die bereitgestellten Anweisungen sind mit gängigen Betriebssystemen wie Windows, macOS und Linux kompatibel, vorausgesetzt, Sie haben Java installiert. Es sind keine zusätzlichen Softwareinstallationen erforderlich, um Metadaten von XLSX in Java zu extrahieren. Nachdem Sie die empfohlene Bibliothek konfiguriert und die Dateipfade entsprechend angepasst haben, sollte die Integration des folgenden Codes in Ihre Projekte reibungslos und ohne Probleme verlaufen.
Code zum Lesen von Metadaten aus XLSX mit Java
import com.groupdocs.metadata.Metadata; | |
import com.groupdocs.metadata.core.FileFormat; | |
import com.groupdocs.metadata.core.IReadOnlyList; | |
import com.groupdocs.metadata.core.MetadataProperty; | |
import com.groupdocs.metadata.core.MetadataPropertyType; | |
import com.groupdocs.metadata.licensing.License; | |
import com.groupdocs.metadata.search.FallsIntoCategorySpecification; | |
import com.groupdocs.metadata.search.OfTypeSpecification; | |
import com.groupdocs.metadata.search.Specification; | |
import com.groupdocs.metadata.tagging.Tags; | |
import java.util.Calendar; | |
import java.util.Date; | |
import java.util.regex.Matcher; | |
import java.util.regex.Pattern; | |
public class ReadMetadataFromXLSXUsingJava { | |
public static void main(String[] args) { | |
// Set License to avoid the limitations of Metadata library | |
License license = new License(); | |
license.setLicense("GroupDocs.Metadata.lic"); | |
Metadata metadata = new Metadata("input.xlsx"); | |
if (metadata.getFileFormat() != FileFormat.Unknown && !metadata.getDocumentInfo().isEncrypted()) { | |
System.out.println(); | |
// Fetch all metadata properties that fall into a particular category | |
IReadOnlyList<MetadataProperty> properties = metadata.findProperties(new FallsIntoCategorySpecification(Tags.getContent())); | |
System.out.println("The metadata properties describing some characteristics of the file content: title, keywords, language, etc."); | |
for (MetadataProperty property : properties) { | |
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue())); | |
} | |
// Fetch all properties having a specific type and value | |
int year = Calendar.getInstance().get(Calendar.YEAR); | |
properties = metadata.findProperties(new OfTypeSpecification(MetadataPropertyType.DateTime).and(new ReadMetadataFromXLSXUsingJava().new YearMatchSpecification(year))); | |
System.out.println("All datetime properties with the year value equal to the current year"); | |
for (MetadataProperty property : properties) { | |
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue())); | |
} | |
// Fetch all properties whose names match the specified regex | |
Pattern pattern = Pattern.compile("^author|company|(.+date.*)$", Pattern.CASE_INSENSITIVE); | |
properties = metadata.findProperties(new ReadMetadataFromXLSXUsingJava().new RegexSpecification(pattern)); | |
System.out.println(String.format("All properties whose names match the following regex: %s", pattern.pattern())); | |
for (MetadataProperty property : properties) { | |
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue())); | |
} | |
} | |
} | |
// Define your own specifications to filter metadata properties | |
public class YearMatchSpecification extends Specification { | |
public YearMatchSpecification(int year) { | |
setValue(year); | |
} | |
public final int getValue() { | |
return auto_Value; | |
} | |
private void setValue(int value) { | |
auto_Value = value; | |
} | |
private int auto_Value; | |
public boolean isSatisfiedBy(MetadataProperty candidate) { | |
Date date = candidate.getValue().toClass(Date.class); | |
if (date != null) { | |
Calendar calendar = Calendar.getInstance(); | |
calendar.setTime(date); | |
return getValue() == calendar.get(Calendar.YEAR); | |
} | |
return false; | |
} | |
} | |
public class RegexSpecification extends Specification { | |
private Pattern pattern; | |
public RegexSpecification(Pattern pattern) { | |
this.pattern = pattern; | |
} | |
@Override | |
public boolean isSatisfiedBy(MetadataProperty metadataProperty) { | |
Matcher matcher = pattern.matcher(metadataProperty.getName()); | |
return matcher.find(); | |
} | |
} | |
} |
Dank der Metadatenbibliothek ist das Extrahieren von Erkenntnissen aus XLSX-Dateimetadaten mit Java ganz einfach. Diese Bibliothek ermöglicht Entwicklern den Zugriff auf wichtige in XLSX-Dateien gespeicherte Informationen und deren einfache Integration in ihre Anwendungen. Ob bei der Automatisierung der Dokumentenverwaltung, der Durchführung von Datenanalysen oder der Verbesserung der Benutzererfahrung – der programmgesteuerte Zugriff auf XLSX-Metadaten bietet Java-Entwicklern eine Fülle von Möglichkeiten. Herzlichen Glückwunsch! Sie haben die Technik zum Abrufen von Metadaten aus XLSX in Java erfolgreich gemeistert.
In einem früheren Gespräch haben wir ein ausführliches Tutorial zum Extrahieren von Metadaten aus DOCX-Dateien mit Java vorgestellt. Für ein tieferes Verständnis dieses Themas empfehlen wir Ihnen, unseren ausführlichen Leitfaden Lesen von Metadaten aus DOCX mit Java zu konsultieren.