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

如何使用OpenXML 3.0.1获取Word/Excel中形状的Hyperlink对象

解决OpenXML SDK获取Word/Excel形状超链接的问题

Word文档处理

Word中文本超链接对应DocumentFormat.OpenXml.Wordprocessing.Hyperlink元素,可直接通过Descendants<Hyperlink>()获取;但形状超链接属于DrawingML范畴,附着在Drawing元素上,对应DocumentFormat.OpenXml.Drawing.Hyperlink,需通过形状节点提取关联ID后匹配超链接关系。

代码示例:

// 获取文档所有形状(Drawing元素)
var drawings = doc.MainDocumentPart.Document.Descendants<DocumentFormat.OpenXml.Wordprocessing.Drawing>().ToList();

// 遍历形状提取超链接信息
foreach (var drawing in drawings)
{
    var drawingHyperlink = drawing.Descendants<DocumentFormat.OpenXml.Drawing.Hyperlink>().FirstOrDefault();
    if (drawingHyperlink != null && !string.IsNullOrEmpty(drawingHyperlink.Id))
    {
        var hyperlinkRel = doc.MainDocumentPart.HyperlinkRelationships.FirstOrDefault(r => r.Id == drawingHyperlink.Id);
        if (hyperlinkRel != null)
        {
            // 输出形状超链接目标
            Console.WriteLine($"形状超链接目标:{hyperlinkRel.Uri}");
        }
    }
}

Excel工作表处理

Excel中形状的超链接不直接以Hyperlink元素存在于WorksheetDrawing中,而是存储在形状的NonVisualDrawingProperties下的HyperlinkOnClick节点里,通过Relationship ID关联到HyperlinkRelationships。

代码示例:

if (worksheetPart.DrawingsPart != null)
{
    // 获取所有形状的NonVisualDrawingProperties
    var shapeNonVisualProps = worksheetPart.DrawingsPart.WorksheetDrawing
        .Descendants<DocumentFormat.OpenXml.Drawing.Spreadsheet.NonVisualDrawingProperties>()
        .ToList();

    foreach (var props in shapeNonVisualProps)
    {
        var hyperlinkOnClick = props.Descendants<DocumentFormat.OpenXml.Drawing.HyperlinkOnClick>().FirstOrDefault();
        if (hyperlinkOnClick != null && !string.IsNullOrEmpty(hyperlinkOnClick.Id))
        {
            var hyperlinkRel = worksheetPart.DrawingsPart.HyperlinkRelationships.FirstOrDefault(r => r.Id == hyperlinkOnClick.Id);
            if (hyperlinkRel != null)
            {
                // 输出形状超链接目标
                Console.WriteLine($"形状超链接目标:{hyperlinkRel.Uri}");
            }
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 04:30:53