Чтение метаданных из 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.

 Русский