A kortárs szoftverfejlesztésben a fájlok metaadatainak kinyerésére és kezelésére való képesség kulcsszerepet játszik a különféle alkalmazásokban. A metaadatok, amelyek magukban foglalják az olyan adatokat, mint a szerzőség, a létrehozási dátumok és a dokumentum tulajdonságai, értékes betekintést nyújtanak a fájlokba, és megkönnyítik a hatékony fájlkezelést. Kifejezetten a .xlsx formátumú Excel-fájlok esetében a metaadatok programozott elérése különösen előnyösnek bizonyul. Ez az útmutató bemutatja, hogyan lehet metaadatokat olvasni az XLSX-ből Java programozási nyelv használatával. Itt megtalálja az alapvető lépéseket, valamint egy kódpéldát, amely bemutatja, hogyan kell olvasni az XLSX metaadatait Java használatával.
Lépések a metaadatok olvasásához az XLSX-ből Java használatával
- Állítsa be az IDE-t, hogy a GroupDocs.Metadata for Java segítségével kinyerje a metaadatokat XLSX-fájlokból
- Hozzon létre egy példányt a Metadata osztályból, és adja át az XLSX fájl elérési útját argumentumként a konstruktorának
- Hozzon létre egy szabályt vagy feltételt az összes metaadat-attribútum megvizsgálásához
- Adjon meg egy feltételt a Metadata.findProperties metódushoz
- Lapozzon át a letöltött tulajdonságokon
Az XLSX a táblázatok széles körben használt fájlformátuma, különösen a Microsoft Excelhez társítva. A táblázat tényleges adatain kívül az XLSX-fájlok a fájl különböző aspektusait részletező metaadatokat is tartalmaznak. Ezek a metaadatok olyan információkat tartalmaznak, mint a dokumentum címe, szerzője, létrehozásának és módosításának dátuma stb. A metaadatok programozott elérése lehetővé teszi a fejlesztők számára, hogy automatizálják a feladatokat, végezzenek elemzéseket vagy gazdagítsák a felhasználói élményt alkalmazásaikban. A mellékelt utasítások kompatibilisek az olyan népszerű operációs rendszerekkel, mint a Windows, a macOS és a Linux, feltéve, hogy telepítve van a Java. Nincs szükség további szoftvertelepítésekre az XLSX metaadatainak Java nyelven történő kinyeréséhez. Az ajánlott könyvtár konfigurálása és a fájl elérési útjainak megfelelő módosítása után a következő kód integrálása a projektekbe zökkenőmentesen és problémamentesen haladhat.
Kód a metaadatok olvasásához az XLSX-ből Java használatával
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(); | |
} | |
} | |
} |
A metaadat-könyvtárnak köszönhetően az XLSX-fájlok metaadataiból Java segítségével egyszerű betekintést nyerni. Ez a könyvtár lehetővé teszi a fejlesztők számára, hogy hozzáférjenek az XLSX-fájlokban tárolt fontos információkhoz, és könnyen beépítsék azokat alkalmazásaikba. Legyen szó a dokumentumkezelés automatizálásáról, az adatelemzés végrehajtásáról vagy a felhasználói élmény javításáról, az XLSX metaadatok programozott elérése rengeteg lehetőséget kínál a Java fejlesztők számára. Gratulálunk! Sikeresen elsajátította az XLSX metaadatainak Java nyelven való lekéréséhez.
Egy korábbi beszélgetésünkben bemutattunk egy részletes oktatóanyagot a DOCX-fájlokból a metaadatok Java segítségével történő kinyeréséhez. A téma mélyebb megértéséhez javasoljuk, hogy tekintse át a metaadatok olvasása a DOCX-ből Java segítségével részletes útmutatóját.