在文档属性中, 可以设置诸多关于文档的信息, 如创建时间, 作者, 单位, 类别, 关键词, 备注等摘要信息以及一些自定义的文档属性. 下面将通过 Java 程序来演示如何设置, 同时对文档内的已有信息, 也可以实现读取和删除等操作.
示例大纲:
1. 添加文档属性
1.1 添加摘要信息
1.2 添加自定义文档信息
2. 读取文档属性
3. 删除文档信息
3.1 删除所有摘要信息, 自定义文档属性
3.2 删除指定摘要信息, 自定义文档属性
使用工具: Spire.XLS for Java
获取方法 1: 通过官网下载包. 下载后, 解压文件, 并将 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();
- }
- }
生成的文档可查看属性删除效果.
(本文完)
来源: https://www.cnblogs.com/Yesi/p/12341151.html