Java 添加、读取、删除Excel文档属性
在文档属性中,可以设置诸多关于文档的信息,如创建时间、作者、单位、类别、关键词、备注等摘要信息以及一些自定义的文档属性。下面将通过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(); } }
生成的文档可查看属性删除效果。
(本文完)
分类:
Java Excel
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)