本文介绍使用Spire.XLS for Java读取Excel文档属性以及删除Excel文档内置属性和自定义属性的方法。添加Excel文档属性可参考这篇文章里的方法。
读取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());
}
}
文档属性读取结果:
删除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();
}
}
生成的文档可查看属性删除效果。