Dalam pengembangan perangkat lunak kontemporer, kemampuan untuk mengekstrak dan menangani metadata dari file memainkan peran penting dalam berbagai aplikasi. Metadata, yang mencakup data seperti kepengarangan, tanggal pembuatan, dan properti dokumen, menawarkan wawasan berharga tentang file dan memfasilitasi pengelolaan file yang efektif. Khusus untuk file Excel dalam format .xlsx, mengakses metadata secara terprogram terbukti sangat menguntungkan. Panduan ini mempelajari proses cara membaca metadata dari XLSX menggunakan bahasa pemrograman Java. Di sini, Anda akan menemukan langkah-langkah penting beserta contoh kode yang menggambarkan cara membaca metadata XLSX menggunakan Java.
Langkah-langkah Membaca Metadata dari XLSX menggunakan Java
- Siapkan IDE Anda untuk menggunakan GroupDocs.Metadata for Java guna mengekstrak metadata dari file XLSX
- Buat instance kelas Metadata, dengan meneruskan jalur file XLSX sebagai argumen ke konstruktornya
- Buat aturan atau ketentuan untuk memeriksa semua atribut metadata
- Tentukan kondisi untuk metode Metadata.findProperties
- Ulangi properti yang diambil
XLSX adalah format file yang banyak digunakan untuk spreadsheet, terutama yang terkait dengan Microsoft Excel. Selain data aktual spreadsheet, file XLSX mencakup metadata yang merinci berbagai aspek file. Metadata ini mencakup informasi seperti judul dokumen, penulis, tanggal pembuatan dan modifikasi, dan banyak lagi. Mengakses metadata ini secara terprogram memberdayakan pengembang untuk mengotomatisasi tugas, melakukan analisis, atau memperkaya pengalaman pengguna dalam aplikasi mereka. Petunjuk yang diberikan kompatibel dengan sistem operasi populer seperti Windows, macOS, dan Linux, dengan asumsi Anda telah menginstal Java. Tidak diperlukan instalasi perangkat lunak tambahan untuk mengekstrak metadata XLSX di Java. Setelah mengonfigurasi pustaka yang direkomendasikan dan menyesuaikan jalur file, pengintegrasian kode berikut ke dalam proyek Anda akan berjalan lancar dan tanpa masalah apa pun.
Kode untuk Membaca Metadata dari XLSX menggunakan 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(); | |
} | |
} | |
} |
Berkat perpustakaan metadata, mengekstraksi wawasan dari metadata file XLSX menggunakan Java menjadi mudah. Perpustakaan ini memungkinkan pengembang untuk mengakses informasi penting yang disimpan dalam file XLSX dan dengan mudah memasukkannya ke dalam aplikasi mereka. Baik mengotomatiskan manajemen dokumen, melakukan analisis data, atau meningkatkan pengalaman pengguna, mengakses metadata XLSX secara terprogram memberikan banyak peluang bagi pengembang Java. Selamat! Anda telah berhasil menguasai teknik mendapatkan metadata XLSX di Java.
Dalam percakapan sebelumnya, kami menyajikan tutorial mendetail tentang mengekstrak metadata dari file DOCX menggunakan Java. Untuk memahami subjek ini lebih dalam, kami sarankan untuk membaca panduan ekstensif kami tentang cara membaca metadata dari DOCX menggunakan Java.