在企业日常运营中,Excel 文件往往参与审批、汇报、项目跟踪等多个环节。文档本身的内容只是 Excel 文件价值的一部分。作者、创建人、版本号、业务标签等文档属性同样在审核与归档管理中发挥重要作用。然而,很多人在生成或处理 Excel 文档时往往忽视了维护文档属性的重要性,导致文件在传输与分享时中缺乏信息支撑。本文将系统介绍如何通过 Spire.XLS for Java ,使用 Java 添加、读取和删除 Excel 文档属性,帮助你构建更完善的文档管理流程。

安装 Spire.XLS for Java
在进入今天的主题前,我们需要先安装 Spire.XLS for Java。这是一个功能丰富的 Java 库,专门用于处理 Excel 文件。不管是格式转换、单元格编辑还是管理 Excel 文件的文档属性,它都可以在不依赖于微软 Office 的情况下轻松做到。
如果你使用 Maven,可以通过将下面的代码添加到 pom.xml 文件中,从而安装 Spire.XLS。
<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.12.15</version>
</dependency>
</dependencies>
你还可以下载 Spire.XLS,然后进行自定义安装。
Java 添加 Excel 文档属性
在生成或更新 Excel 文件时,为文档添加属性可以提升文档的一致性、可追踪性,同时还方便对文档进行统一管理。Java 支持对 内置属性 和 自定义属性 进行操作,适合多种场景的业务需求,比如在自动生成工作簿时记录文件的作者、部门和时间等信息;或者在文件处理流程系统中标记文档的状态,如待审核、已归档等。
1. Java 添加 Excel 内置文档属性
内置文档属性指 Excel 文件默认提供的标准元数据字段,例如标题、主题、作者、分类、关键词、公司等。这些属性在文档管理系统中广泛使用,也更容易被其他平台识别。
在 Java 中添加 Excel 内置文档属性的步骤
- 创建一个 Workbook 实例,或加载一个 Excel 文件。
- 通过 Workbook.getDocumentProperties() 方法访问文档的内置属性集合。
- 为每个需要的字段设置对应的值。
- 调用 Workbook.saveToFile() 方法保存文档以完成更新。
下方为完整的 Java 代码示例:
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
public class BuiltinProperties {
public static void main(String[] args){
//加载 Excel 文档
Workbook workbook = new Workbook();
workbook.loadFromFile("/input/示例文件.xlsx");
//给文档设置标题、主题、作者等内置文档属性
workbook.getDocumentProperties().setTitle("设置文档属性");
workbook.getDocumentProperties().setSubject("Spire.XLS for Java Demo");
workbook.getDocumentProperties().setAuthor("孙靖");
workbook.getDocumentProperties().setManager("王晗");
workbook.getDocumentProperties().setCompany("E-iceblue");
workbook.getDocumentProperties().setCategory("Spire.XLS for Java");
workbook.getDocumentProperties().setKeywords("Excel文档属性");
//保存结果文档
workbook.saveToFile("/output/内置文档属性.xlsx", ExcelVersion.Version2013);
}
}

这些属性适合在自动生成报表、内部创建 Excel 文档模板、平台输出文件时使用,可以让 Excel 文件在任何环境中都能保持清晰的来源信息与基本描述。
除了常规的作者或标题,内置属性还可用来标记文件生成的系统,如 “报告系统 v3.2”;描述数据的类型,比如 “月度销售报告” 等。
2. Java 添加自定义 Excel 文档属性
相比较于内置的属性,Excel 的自定义属性提供了更多灵活性,使用户可以根据自身业务扩展文档元数据。与固定格式的内置属性不同,自定义属性可以是任意键值对,如字符串、数字或布尔类型。
自定义属性常用于记录客户编号、项目编号、文档状态、流程节点和审核人或责任人等,十分适合在文档审核工作流中使用。
Java 在 Excel 中添加自定义属性的步骤
- 创建一个 Workbook 实例,或加载一个 Excel 文件。
- 通过 Workbook.getCustomDocumentProperties().add() 方法访问文档的内置属性集合,并添加自定义的属性。
- 调用 Workbook.saveToFile() 方法保存文档以完成更新。
下方为代码示例:
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import java.util.Date;
public class CustomProperties {
public static void main(String[] args){
//加载 Excel 文档
Workbook workbook = new Workbook();
workbook.loadFromFile("/input/示例文件.xlsx");
//给文档添加自定义文档属性
workbook.getCustomDocumentProperties().add("_视为终版", true);
workbook.getCustomDocumentProperties().add("编辑", "E-iceblue");
workbook.getCustomDocumentProperties().add("联系电话", 81705109);
workbook.getCustomDocumentProperties().add("更新日期", new Date());
//保存结果文档
workbook.saveToFile("/output/自定义文档属性.xlsx", ExcelVersion.Version2013);
}
}

在企业级文档系统中,灵活运用 Excel 文档的自定义属性可以显著提升自动化能力,让文档具备可识别性。
通过 Java 读取 Excel 文档属性
不管是需要在在上传文件时自动校验作者、日期等信息,还是需要判断文件是否需要人工审核,你都可以使用 Java 来自动读取 Excel 的内置属性或自定义属性。通过 Java 读取元数据,你可以快速掌握文件的关键信息,而无需打开文件解析表格中的内容。
Java 在 Excel 读取文档属性的步骤
- 创建一个 Workbook 实例并加载一个 Excel 文件。
- 通过 Workbook.getDocumentProperties() 和 Workbook.getCustomDocumentProperties() 方法,分别访问 Excel 文件的内置属性和自定义属性集合,然后在控制台将其打印出来。
下方代码展示了怎样获取一个 Excel 文件的内置属性并打印:
import com.spire.xls.*;
public class ReadProperties {
public static void main(String[] args) {
//加载Excel文档
Workbook wb = new Workbook();
wb.loadFromFile("/output/内置文档属性.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());
}
}

通过 Java 删除 Excel 文档属性
随着文档在项目之间传输,部分属性可能会过时,在文档处理时容易引起误解。清除这些属性不仅能避免信息残留,还能保证文档在重复使用时不会被错误识别。比如说在重复使用模板时移除旧的作者和其它自定义字段;或者在不同部门之间共享文档前,去掉不相关的业务标签。
Java 删除 Excel 文档属性的步骤
- 创建一个 Workbook 实例,并加载 Excel 文件。
- 通过 Workbook.getDocumentProperties() 方法,访问 Excel 文件的内置属性,并将各属性设置为空。
- 调用 Workbook.getCustomDocumentProperties().remove() 方法删除文档的自定义属性。
- 保存修改后的文档。
下方为完整的代码示例:
import com.spire.xls.*;
public class RemoveProperties {
public static void main(String[] args) {
//加载Excel文档
Workbook wb = new Workbook();
wb.loadFromFile("/output/内置文档属性.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("/output/删除文档属性.xlsx", ExcelVersion.Version2010);
wb.dispose();
}
}

通过清理 Excel 的文档属性,你可以使文档在不同阶段都保持准确性和专业性,避免多余信息干扰工作流程。
结语
文档属性是 Excel 文件的重要组成部分,它们是表格数据之外的结构化信息。掌握使用 Java 添加、读取和删除文档属性,不仅能提升自动化水平,也能加强文档的可追踪性与可管理性。如果你对 Spire.XLS for Java 感兴趣,欢迎随时联系我们获取更多信息!







