Java 新增、讀取、刪除Excel文件屬性
阿新 • • 發佈:2020-02-21
在文件屬性中,可以設定諸多關於文件的資訊,如建立時間、作者、單位、類別、關鍵詞、備註等摘要資訊以及一些自定義的文件屬性。下面將通過Java程式來演示如何設定,同時對文件內的已有資訊,也可以實現讀取和刪除等操作。
示例大綱:
1. 新增文件屬性
1.1 新增摘要資訊
1.2 新增自定義文件資訊
2. 讀取文件屬性
3. 刪除文件資訊
3.1 刪除所有摘要資訊、自定義文件屬性
3.2 刪除指定摘要資訊、自定義文件屬性
使用工具:Spire.XLS for Java
獲取方法:通過官網下載包。下載後,解壓檔案,並將lib資料夾下的jar檔案匯入java程式;或者通過Maven倉庫下載匯入。Jar匯入效果如下:
Java 程式碼示例
【示例1】新增Excel文件屬性
import com.spire.xls.*; import java.util.Date; public class AddProperties { public static void main(String[] args) { //載入Excel文件 Workbook wb = new Workbook(); wb.loadFromFile("input.xlsx"); //給文件設定標題、主題、作者等內建文件屬性 wb.getDocumentProperties().setTitle("設定文件屬性"); wb.getDocumentProperties().setSubject("A類"); wb.getDocumentProperties().setAuthor("Bubble"); wb.getDocumentProperties().setManager("July"); wb.getDocumentProperties().setCompany("Alibaba"); wb.getDocumentProperties().setCategory("內部"); wb.getDocumentProperties().setKeywords("文件、草稿"); //給文件新增自定義文件屬性 wb.getCustomDocumentProperties().add("_MarkAsFinal", true); wb.getCustomDocumentProperties().add("編輯", "Administrator"); wb.getCustomDocumentProperties().add("聯絡電話", 12345678); wb.getCustomDocumentProperties().add("更新日期", new Date()); //儲存結果文件 wb.saveToFile("AddProperties.xlsx", ExcelVersion.Version2010); wb.dispose(); } }
生成的文件可檢視屬性新增效果。
【示例2】讀取Excel文件屬性
import com.spire.xls.*; public class ReadProperties { public static void main(String[] args) { //載入Excel文件 Workbook wb = new Workbook(); wb.loadFromFile("AddProperties.xlsx"); //獲取Excel內建文件屬性 System.out.println("標題: " + 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("關鍵字: " + wb.getDocumentProperties().getKeywords()); //獲取Excel自定義文件屬性 DocumentProperty property = (DocumentProperty) wb.getCustomDocumentProperties().get(0); //讀取第一個自定義文件屬性的名稱和值 System.out.println("名稱: " + property.getName()); System.out.println("值: " + property.getValue()); } }
文件屬性讀取結果:
【示例3】刪除Excel文件屬性
import com.spire.xls.*; public class RemoveProperties { public static void main(String[] args) { //載入Excel文件 Workbook wb = new Workbook(); wb.loadFromFile("AddProperties.xlsx"); //通過將對應文件屬性的值設定為空來刪除該內建屬性 wb.getDocumentProperties().setTitle(""); wb.getDocumentProperties().setSubject(""); wb.getDocumentProperties().setAuthor(""); wb.getDocumentProperties().setCompany(""); wb.getDocumentProperties().setManager(""); wb.getDocumentProperties().setCategory(""); wb.getDocumentProperties().setKeywords(""); wb.getDocumentProperties().setComments(""); //根據自定義文件屬性的名稱來移除該自定義文件屬性 wb.getCustomDocumentProperties().remove("編輯"); wb.getCustomDocumentProperties().remove("聯絡電話"); //儲存文件 wb.saveToFile("RemoveProperties.xlsx", ExcelVersion.Version2010); wb.dispose(); } }
生成的文件可檢視屬性刪除效果。
(本文