We współczesnym tworzeniu oprogramowania możliwość wyodrębniania i obsługi metadanych z plików odgrywa kluczową rolę w różnych aplikacjach. Metadane, obejmujące dane takie jak autorstwo, daty utworzenia i właściwości dokumentu, zapewniają cenny wgląd w pliki i ułatwiają efektywne zarządzanie plikami. Szczególnie w przypadku plików Excel w formacie .xlsx programowy dostęp do metadanych okazuje się szczególnie korzystny. W tym przewodniku szczegółowo opisano proces odczytywania metadanych z pliku XLSX przy użyciu języka programowania Java. Tutaj znajdziesz niezbędne kroki wraz z przykładem kodu ilustrującym, jak odczytywać metadane XLSX przy użyciu języka Java.
Kroki, aby odczytać metadane z pliku XLSX przy użyciu języka Java
- Skonfiguruj swoje IDE, aby używać GroupDocs.Metadata for Java do wyodrębniania metadanych z plików XLSX
- Utwórz instancję klasy Metadata, przekazując ścieżkę pliku XLSX jako argument do jej konstruktora
- Utwórz regułę lub warunek, aby sprawdzić wszystkie atrybuty metadanych
- Zdefiniuj warunek dla metody Metadata.findProperties
- Przejdź w pętli pobrane właściwości
XLSX to powszechnie używany format plików arkuszy kalkulacyjnych, szczególnie kojarzony z Microsoft Excel. Oprócz rzeczywistych danych arkusza kalkulacyjnego pliki XLSX zawierają metadane szczegółowo opisujące różne aspekty pliku. Te metadane obejmują takie informacje, jak tytuł dokumentu, autorstwo, daty utworzenia i modyfikacji i inne. Programowy dostęp do tych metadanych umożliwia programistom automatyzację zadań, przeprowadzanie analiz lub wzbogacanie doświadczeń użytkowników w ich aplikacjach. Dostarczone instrukcje są kompatybilne z popularnymi systemami operacyjnymi, takimi jak Windows, macOS i Linux, pod warunkiem, że masz zainstalowaną Javę. Do wyodrębnienia metadanych XLSX w Javie nie jest wymagana żadna dodatkowa instalacja oprogramowania. Po skonfigurowaniu zalecanej biblioteki i odpowiednim dostosowaniu ścieżek plików, integracja poniższego kodu z Twoimi projektami powinna przebiegać sprawnie i bez żadnych problemów.
Kod do odczytu metadanych z XLSX przy użyciu 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(); | |
} | |
} | |
} |
Dzięki bibliotece metadanych wyodrębnianie spostrzeżeń z metadanych pliku XLSX przy użyciu języka Java jest proste. Ta biblioteka umożliwia programistom dostęp do kluczowych informacji przechowywanych w plikach XLSX i łatwe włączanie ich do swoich aplikacji. Niezależnie od tego, czy automatyzujesz zarządzanie dokumentami, przeprowadzasz analizę danych, czy poprawiasz doświadczenia użytkowników, programowy dostęp do metadanych XLSX stwarza bogactwo możliwości dla programistów Java. Gratulacje! Udało Ci się opanować technikę pobierania metadanych XLSX w Javie.
We wcześniejszej rozmowie zaprezentowaliśmy szczegółowy tutorial dotyczący wydobywania metadanych z plików DOCX przy użyciu języka Java. Aby lepiej zrozumieć ten temat, sugerujemy zapoznanie się z naszym obszernym przewodnikiem dotyczącym odczytaj metadane z DOCX przy użyciu Java.