Čtení metadat z XLSX pomocí Java

V současném vývoji softwaru hraje schopnost extrahovat a zpracovávat metadata ze souborů klíčovou roli v různých aplikacích. Metadata, která zahrnují data, jako je autorství, data vytvoření a vlastnosti dokumentu, nabízejí cenné informace o souborech a usnadňují efektivní správu souborů. Konkrétně pro soubory aplikace Excel ve formátu .xlsx se programový přístup k metadatům ukazuje jako mimořádně výhodný. Tato příručka se ponoří do procesu, jak číst metadata z XLSX pomocí programovacího jazyka Java. Zde najdete základní kroky spolu s příkladem kódu ilustrujícím, jak číst metadata XLSX pomocí Java.

Kroky ke čtení metadat z XLSX pomocí Java

  1. Nastavte své IDE tak, aby využívalo GroupDocs.Metadata for Java k extrahování metadat ze souborů XLSX
  2. Vytvořte instanci třídy Metadata a předejte cestu k souboru XLSX jako argument jeho konstruktoru
  3. Vytvořte pravidlo nebo podmínku k prozkoumání všech atributů metadat
  4. Definujte podmínku pro metodu Metadata.findProperties
  5. Procházejte načtené vlastnosti

XLSX je široce používaný formát souborů pro tabulky, zejména spojený s Microsoft Excel. Kromě skutečných dat tabulky obsahují soubory XLSX metadata podrobně popisující různé aspekty souboru. Tato metadata zahrnují informace, jako je název dokumentu, autorství, data vytvoření a úprav a další. Programový přístup k těmto metadatům umožňuje vývojářům automatizovat úkoly, provádět analýzy nebo obohacovat uživatelské zkušenosti v rámci jejich aplikací. Poskytnuté pokyny jsou kompatibilní s oblíbenými operačními systémy, jako jsou Windows, macOS a Linux, za předpokladu, že máte nainstalovanou Javu. K extrakce metadat XLSX v Javě nejsou nutné žádné další instalace softwaru. Po konfiguraci doporučené knihovny a odpovídající úpravě cest k souborům by integrace následujícího kódu do vašich projektů měla probíhat hladce a bez problémů.

Kód pro čtení metadat z XLSX pomocí 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();
}
}
}

Díky knihovně metadat je extrahování náhledů z metadat souborů XLSX pomocí Java přímočaré. Tato knihovna umožňuje vývojářům přistupovat k důležitým informacím uloženým v souborech XLSX a snadno je začlenit do svých aplikací. Ať už automatizujete správu dokumentů, provádíte analýzu dat nebo zlepšujete uživatelské prostředí, programový přístup k metadatům XLSX představuje pro vývojáře v jazyce Java velké množství příležitostí. Gratulujeme! Úspěšně jste zvládli techniku získání metadat XLSX v Javě.

V dřívějším rozhovoru jsme představili podrobný návod na extrahování metadat ze souborů DOCX pomocí Javy. Chcete-li tomuto tématu lépe porozumět, doporučujeme vám nahlédnout do našeho rozsáhlého průvodce číst metadata z DOCX pomocí Java.

 Čeština