Четете метаданни от XLSX с помощта на Java

В съвременното разработване на софтуер капацитетът за извличане и обработка на метаданни от файлове играе ключова роля в различни приложения. Метаданните, обхващащи данни като авторство, дати на създаване и свойства на документа, предлагат ценна информация за файловете и улесняват ефективното управление на файлове. Конкретно за файловете на Excel във формат .xlsx, програмният достъп до метаданни се оказва изключително полезен. Това ръководство се задълбочава в процеса на четене на метаданни от XLSX с помощта на езика за програмиране Java. Тук ще намерите основните стъпки заедно с примерен код, илюстриращ как да четете метаданни на XLSX с помощта на Java.

Стъпки за четене на метаданни от XLSX с помощта на Java

  1. Настройте вашето IDE да използва GroupDocs.Metadata for Java за извличане на метаданни от XLSX файлове
  2. Създайте екземпляр на класа Metadata, като предадете файловия път на XLSX файла като аргумент на неговия конструктор
  3. Създайте правило или условие за проверка на всички атрибути на метаданни
  4. Дефинирайте условие за метода Metadata.findProperties
  5. Преминете през извлечените свойства

XLSX е широко използван файлов формат за електронни таблици, по-специално свързан с Microsoft Excel. Освен действителните данни на електронната таблица, XLSX файловете включват метаданни, описващи различни аспекти на файла. Тези метаданни включват информация като заглавие на документа, авторство, дати на създаване и промяна и др. Програмният достъп до тези метаданни дава възможност на разработчиците да автоматизират задачи, да извършват анализ или да обогатяват потребителското изживяване в своите приложения. Предоставените инструкции са съвместими с популярни операционни системи като Windows, macOS и Linux, ако приемем, че имате инсталирана Java. Не са необходими допълнителни софтуерни инсталации за извличане на метаданни на XLSX в Java. След като конфигурирате препоръчителната библиотека и съответно коригирате пътищата на файловете, интегрирането на следния код във вашите проекти трябва да продължи гладко и без проблеми.

Код за четене на метаданни от XLSX с помощта на 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();
}
}
}

Благодарение на библиотеката с метаданни, извличането на информация от метаданните на XLSX файлове с помощта на Java е лесно. Тази библиотека позволява на разработчиците да имат достъп до важна информация, съхранявана в XLSX файлове, и лесно да я включат в своите приложения. Независимо дали автоматизирате управлението на документи, извършвате анализ на данни или подобрявате изживяването на потребителите, програмният достъп до XLSX метаданни предоставя изобилие от възможности за Java разработчиците. Честито! Успешно сте усвоили техниката за получаване на метаданни на XLSX в Java.

В по-ранен разговор представихме подробен урок за извличане на метаданни от DOCX файлове с помощта на Java. За по-задълбочено разбиране на тази тема ви предлагаме да се консултирате с нашето обширно ръководство как да чете метаданни от DOCX с помощта на Java.

 Български