Ծրագրային ապահովման ժամանակակից մշակման մեջ ֆայլերից մետատվյալներ հանելու և մշակելու կարողությունը առանցքային դեր է խաղում տարբեր ծրագրերում: Մետատվյալները, որոնք ներառում են այնպիսի տվյալներ, ինչպիսիք են հեղինակությունը, ստեղծման ամսաթվերը և փաստաթղթերի հատկությունները, առաջարկում են արժեքավոր պատկերացումներ ֆայլերի վերաբերյալ և հեշտացնում ֆայլերի արդյունավետ կառավարումը: Հատկապես .xlsx ձևաչափով Excel ֆայլերի համար մետատվյալների ծրագրային մուտքը զգալիորեն ձեռնտու է: Այս ուղեցույցը խորանում է այն գործընթացի մեջ, թե ինչպես կարելի է կարդալ մետատվյալները XLSX-ից Java ծրագրավորման լեզվով: Այստեղ դուք կգտնեք հիմնական քայլերը կոդի օրինակի հետ միասին, որը ցույց է տալիս, թե ինչպես կարդալ XLSX-ի մետատվյալները Java-ի միջոցով:
XLSX-ից Java-ի միջոցով մետատվյալները կարդալու քայլեր
- Կարգավորեք ձեր IDE-ն՝ օգտագործելու GroupDocs.Metadata for Java՝ XLSX ֆայլերից մետատվյալներ հանելու համար
- Ստեղծեք Metadata դասի օրինակ՝ XLSX ֆայլի ֆայլի ուղին որպես փաստարկ փոխանցելով դրա կոնստրուկտորին։
- Ստեղծեք կանոն կամ պայման՝ մետատվյալների բոլոր հատկանիշները ուսումնասիրելու համար
- Սահմանեք պայման Metadata.findProperties մեթոդի համար
- Անցեք վերցված հատկությունների միջով
XLSX-ը հանդես է գալիս որպես աղյուսակների լայնորեն օգտագործվող ֆայլի ձևաչափ, որը հատկապես կապված է Microsoft Excel-ի հետ: Բացի աղյուսակի իրական տվյալներից, XLSX ֆայլերը ներառում են մետատվյալներ, որոնք մանրամասնում են ֆայլի տարբեր ասպեկտները: Այս մետատվյալները ներառում են տեղեկություններ, ինչպիսիք են փաստաթղթի անվանումը, հեղինակությունը, ստեղծման և փոփոխման ամսաթվերը և այլն: Այս մետատվյալների ծրագրային հասանելիությունը ծրագրավորողներին հնարավորություն է տալիս ավտոմատացնել առաջադրանքները, կատարել վերլուծություն կամ հարստացնել օգտատերերի փորձը իրենց հավելվածներում: Տրամադրված հրահանգները համատեղելի են հայտնի օպերացիոն համակարգերի հետ, ինչպիսիք են Windows-ը, macOS-ը և Linux-ը, ենթադրելով, որ դուք տեղադրել եք Java-ն: Ոչ մի լրացուցիչ ծրագրային տեղադրում անհրաժեշտ չէ Java-ում XLSX-ի մետատվյալները հանելու համար: Առաջարկվող գրադարանը կարգավորելուց և ֆայլերի ուղիները համապատասխանաբար կարգավորելուց հետո, հետևյալ ծածկագիրը ձեր նախագծերում ինտեգրելը պետք է ընթանա սահուն և առանց որևէ խնդիրների:
Կոդ՝ 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-ում ստանալու տեխնիկան:
Ավելի վաղ զրույցի ժամանակ մենք ներկայացրել էինք Java-ի միջոցով DOCX ֆայլերից մետատվյալներ հանելու մանրամասն ձեռնարկը: Այս թեմայի ավելի խորը ընկալման համար առաջարկում ենք ծանոթանալ մեր ընդարձակ ուղեցույցին, թե ինչպես անել կարդալ մետատվյալները DOCX-ից Java-ի միջոցով: