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();
    }
}

 

生成的文档可查看属性删除效果。

 

(本文完)

posted @ 2020-02-21 13:59  E-iceblue  阅读(909)  评论(0编辑  收藏  举报