Java讀取或刪除Excel文件文檔屬性的解決方案
Excel文件不僅僅是數(shù)據(jù)表格,它們還承載著重要的元數(shù)據(jù),即“文檔屬性”。這些屬性(如作者、標(biāo)題、公司、創(chuàng)建日期等)在文件管理、信息溯源和數(shù)據(jù)合規(guī)性方面扮演著關(guān)鍵角色。然而,在Java應(yīng)用中如何高效地讀取或刪除這些屬性,常常是開發(fā)者面臨的痛點(diǎn)。本文將深入探討如何利用功能強(qiáng)大的Spire.XLS for Java庫(kù),輕松實(shí)現(xiàn)Excel文檔屬性的讀寫與刪除操作,為你的數(shù)據(jù)處理工作提供實(shí)用解決方案。
Spire.XLS for Java 庫(kù)簡(jiǎn)介與安裝
Spire.XLS for Java 是一個(gè)專業(yè)的Java Excel API,專注于提供高性能、高質(zhì)量的Excel文件處理能力。它支持各種Excel操作,包括創(chuàng)建、讀取、寫入、轉(zhuǎn)換和打印Excel文檔,且無(wú)需依賴Microsoft Office。其直觀的API設(shè)計(jì)使得開發(fā)者可以便捷地操作Excel的各種元素,包括單元格、行、列、圖表、圖片以及我們今天要討論的文檔屬性。
要將Spire.XLS for Java引入你的項(xiàng)目,只需在Maven配置文件中添加相應(yīng)的依賴即可。
Maven 依賴:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>15.11.3</version>
</dependency>
</dependencies>Java 獲取 Excel 文件的文檔屬性
Excel文檔屬性分為兩類:內(nèi)置屬性 (Built-in Properties) 和 自定義屬性 (Custom Properties)。內(nèi)置屬性是Excel預(yù)定義的,如標(biāo)題、主題、作者、公司、創(chuàng)建日期等。自定義屬性則允許用戶根據(jù)需要添加額外的信息。
以下代碼示例展示了如何使用Spire.XLS for Java來(lái)讀取Excel文件的這些文檔屬性:
import com.spire.xls.*;
public class ReadProperties {
public static void main(String[] args) {
//加載Excel文檔
Workbook wb = new Workbook();
wb.loadFromFile("AddProperties.xlsx");
//讀取Excel內(nèi)置文檔屬性
System.out.println("標(biāo)題: " + wb.getDocumentProperties().getTitle());
System.out.println("主題: " + wb.getDocumentProperties().getSubject());
System.out.println("作者: " + wb.getDocumentProperties().getAuthor());
System.out.println("單位: " + wb.getDocumentProperties().getCompany());
System.out.println("主管: " + wb.getDocumentProperties().getManager());
System.out.println("類別: " + wb.getDocumentProperties().getCategory());
System.out.println("關(guān)鍵字: " + wb.getDocumentProperties().getKeywords());
//獲取Excel自定義文檔屬性
DocumentProperty property = (DocumentProperty) wb.getCustomDocumentProperties().get(0);
//讀取第一個(gè)自定義文檔屬性的名稱和值
System.out.println("名稱: " + property.getName());
System.out.println("值: " + property.getValue());
}
}代碼說(shuō)明:
- Workbook.loadFromFile():加載指定的Excel文件。
- Workbook.getDocumentProperties().get():獲取文檔屬性對(duì)象。
- Workbook.getCustomDocumentProperties().get():獲取自定義文檔屬性集合。
Java 刪除 Excel 的文檔屬性
刪除文檔屬性的場(chǎng)景通常是為了保護(hù)隱私信息、清理不必要的元數(shù)據(jù)或確保文件合規(guī)性。Spire.XLS for Java 提供了靈活的方式來(lái)刪除特定的自定義屬性或清空所有自定義屬性。
以下代碼示例展示了如何刪除Excel文件的文檔屬性:
import com.spire.xls.*;
public class RemoveProperties {
public static void main(String[] args) {
//加載Excel文檔
Workbook wb = new Workbook();
wb.loadFromFile("AddProperties.xlsx");
//通過(guò)將對(duì)應(yīng)文檔屬性的值設(shè)置為空來(lái)刪除該內(nèi)置屬性
wb.getDocumentProperties().setTitle("");
wb.getDocumentProperties().setSubject("");
wb.getDocumentProperties().setAuthor("");
wb.getDocumentProperties().setCompany("");
wb.getDocumentProperties().setManager("");
wb.getDocumentProperties().setCategory("");
wb.getDocumentProperties().setKeywords("");
wb.getDocumentProperties().setComments("");
//根據(jù)自定義文檔屬性的名稱來(lái)移除該自定義文檔屬性
wb.getCustomDocumentProperties().remove("編輯");
wb.getCustomDocumentProperties().remove("聯(lián)系電話");
//保存文檔
wb.saveToFile("RemoveProperties.xlsx", ExcelVersion.Version2010);
wb.dispose();
}
}代碼說(shuō)明:
- Workbook.getCustomDocumentProperties().remove():通過(guò)屬性名稱刪除指定的自定義屬性。
- 對(duì)于內(nèi)置屬性,通常通過(guò)setXXX("")或setXXX(null)來(lái)將其值置空,達(dá)到“刪除”的效果。
- Workbook.saveToFile("...", ExcelVersion.Version2013):將修改后的工作簿保存到新的Excel文件,并指定Excel版本。
結(jié)論
通過(guò)本文的介紹,你已經(jīng)掌握了如何使用Spire.XLS for Java庫(kù)來(lái)讀取和刪除Excel文件的文檔屬性。無(wú)論是獲取重要的元數(shù)據(jù),還是進(jìn)行敏感信息的清理,Spire.XLS for Java都提供了簡(jiǎn)潔高效的API支持。它極大地簡(jiǎn)化了Java開發(fā)者在處理Excel文檔屬性時(shí)的復(fù)雜性,是Java生態(tài)中處理Excel文件的強(qiáng)大工具。鼓勵(lì)你進(jìn)一步探索Spire.XLS for Java的更多高級(jí)功能,以滿足更復(fù)雜的Excel操作需求。
以上就是Java讀取或刪除Excel文件文檔屬性的解決方案的詳細(xì)內(nèi)容,更多關(guān)于Java讀取或刪除Excel文檔屬性的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java繪圖技術(shù)基礎(chǔ)(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇Java繪圖技術(shù)基礎(chǔ)(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
淺談Java中GuavaCache返回Null的注意事項(xiàng)
Guava在實(shí)際的Java后端項(xiàng)目中應(yīng)用的場(chǎng)景還是比較多的,比如限流,緩存,容器操作之類的,本文主要介紹了GuavaCache返回Null的注意事項(xiàng),感興趣的可以了解一下2021-10-10
HashMap中哈希值與數(shù)組坐標(biāo)的關(guān)聯(lián)方式
這篇文章主要介紹了HashMap中哈希值與數(shù)組坐標(biāo)的關(guān)聯(lián)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-05-05
一文搞明白Java?Spring?Boot分布式事務(wù)解決方案
這篇文章主要介紹了一文搞明白Java?Spring?Boot分布式事務(wù)解決方案,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
解決myBatis generator逆向生成沒有根據(jù)主鍵的select,update和delete問題
這篇文章主要介紹了解決myBatis generator逆向生成沒有根據(jù)主鍵的select,update和delete問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09

