You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Apache POI或其他API读取MS Word/Excel的安全分类标识?

Office文档安全分类标签读取方案

首先明确:企业常用的Office安全分类标签主要有三类存储形态,Apache POI本身可以覆盖绝大多数场景的读取需求,不需要额外引入其他API:

方案1:读取自定义文档属性(适配自研分类标签场景)

绝大多数企业自研的分类标签都会存储在文档的自定义属性字段中,POI原生支持读取该字段:

  • 针对.xlsx格式Excel
    代码示例:
    try (XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream("target.xlsx"))) {
        CustomProperties customProps = wb.getProperties().getCustomProperties();
        // 常见属性key包括「安全分类」「敏感度等级」「SecurityLevel」等,可根据企业实际配置调整
        if (customProps.contains("安全分类")) {
            String classifyLevel = customProps.getProperty("安全分类").getValue().toString();
            // 输出对应等级:内部/机密/公开
        }
    }
    
  • 针对.docx格式Word
    代码示例:
    try (XWPFDocument doc = new XWPFDocument(new FileInputStream("target.docx"))) {
        CustomProperties customProps = doc.getProperties().getCustomProperties();
        if (customProps.contains("安全分类")) {
            String classifyLevel = customProps.getProperty("安全分类").getValue().toString();
        }
    }
    

如果是旧版.xls/.doc格式,替换为HSSFWorkbook/HWPFDocument对应的属性读取方法即可,逻辑完全一致

方案2:读取微软MIP敏感度标签

如果企业使用的是微软官方的信息保护(MIP)敏感度标签,这类标签会存储在/docProps/custom.xml中,属性前缀为MSIP_Label_:

  • 直接用方案1的方法读取自定义属性,匹配前缀为MSIP_Label_的属性值,即可获取标签ID和名称,映射到企业对应的分类等级即可
  • 如果需要做更复杂的标签校验,也可以直接使用微软MIP SDK本地解析,不需要调用在线服务

方案3:遍历自定义XML扩展段

如果上述两种方法都读取不到,说明企业将标签存储在了自定义XML扩展部分:

  • Excel可通过XSSFWorkbook.getRelations()遍历所有文档关系项,筛选XML类型的内容后解析查找分类标签字段
  • Word可通过XWPFDocument.getCustomXmlParts()直接获取所有自定义XML段,遍历内容匹配分类关键词即可

内容的提问来源于stack exchange,提问作者Dharpa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:54:04