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

 Українська