Läs Metadata från XLSX med Java

I modern mjukvaruutveckling spelar förmågan att extrahera och hantera metadata från filer en central roll i olika applikationer. Metadata, som omfattar data som författarskap, skapelsedatum och dokumentegenskaper, ger värdefulla insikter om filer och underlättar effektiv filhantering. Specifikt för Excel-filer i formatet .xlsx visar det sig att programmatisk åtkomst till metadata är särskilt fördelaktigt. Den här guiden går in i processen för hur man läser metadata från XLSX med programmeringsspråket Java. Här hittar du de väsentliga stegen tillsammans med ett kodexempel som illustrerar hur man läser metadata för XLSX med Java.

Steg för att läsa metadata från XLSX med Java

  1. Ställ in din IDE för att använda GroupDocs.Metadata for Java för att extrahera metadata från XLSX-filer
  2. Skapa en instans av klassen Metadata och skicka filsökvägen till XLSX-filen som ett argument till dess konstruktor
  3. Skapa en regel eller ett villkor för att undersöka alla metadataattribut
  4. Definiera ett villkor för metoden Metadata.findProperties
  5. Gå igenom de hämtade egenskaperna

XLSX står som ett allmänt använt filformat för kalkylblad, särskilt förknippat med Microsoft Excel. Förutom kalkylarkets faktiska data, innehåller XLSX-filer metadata som beskriver olika aspekter av filen. Denna metadata inkluderar information som dokumentets titel, författarskap, datum för skapande och ändring med mera. Programmatisk åtkomst till denna metadata ger utvecklare möjlighet att automatisera uppgifter, genomföra analyser eller berika användarupplevelser i sina applikationer. De medföljande instruktionerna är kompatibla med populära operativsystem som Windows, macOS och Linux, förutsatt att du har Java installerat. Inga ytterligare programvaruinstallationer krävs för att extrahera metadata för XLSX i Java. Efter att ha konfigurerat det rekommenderade biblioteket och justerat filsökvägar i enlighet därmed, bör integrationen av följande kod i dina projekt gå smidigt och utan problem.

Kod för att läsa metadata från XLSX med 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();
}
}
}

Tack vare metadatabiblioteket är det enkelt att extrahera insikter från XLSX-filmetadata med Java. Detta bibliotek ger utvecklare tillgång till viktig information som lagras i XLSX-filer och enkelt integrera den i sina applikationer. Oavsett om du automatiserar dokumenthantering, utför dataanalys eller förbättrar användarupplevelsen, erbjuder programmässig åtkomst av XLSX-metadata en mängd möjligheter för Java-utvecklare. Grattis! Du har framgångsrikt bemästrat tekniken för att få metadata för XLSX i Java.

I ett tidigare samtal presenterade vi en detaljerad handledning om att extrahera metadata från DOCX-filer med Java. För en djupare förståelse av detta ämne föreslår vi att du konsulterar vår omfattande guide hur du läsa metadata från DOCX med Java.

 Svenska