如何在 Java 中获取"last saved by" Office 文件属性



我正在尝试从MS Office 2013文件(docx,xlsx,pptx ...)中获取"Last Save by"属性。我正在使用Apache POI,但我只能使用以下代码获取文件的作者:

OPCPackage pkg = OPCPackage.open(file);
POIXMLProperties props = new POIXMLProperties(pkg);
props.getCoreProperties().getCreator();

有没有办法获得"上次保存者"属性?

查看 Apache POI OOXML 属性提取器作为此类问题的良好灵感来源,我们看到您需要做的是

OPCPackage pkg = OPCPackage.open(file);
POIXMLProperties props = new POIXMLProperties(pkg);
PackagePropertiesPart ppropsPart = props.getCoreProperties().getUnderlyingProperties();
Date created = ppropsPart.getCreatedProperty().getValue();
Date modified = ppropsPart.getModifiedProperty().getValue();
String lastModifiedBy = ppropsPart.getLastModifiedByProperty().getValue();

这将为您提供上次修改文件的人,创建时间和时间

这应该有效(未测试):

OPCPackage pkg = OPCPackage.open(file);
pkg.getPackageProperties().getLastModifiedByProperty();

请参阅:POI API 文档

最新更新