• 使用OPEN XML SDK 读取EXCEL中的超链接Hyperlink


    使用OPEN XML SDK 读取EXCEL中的超链接Hyperlink


    原理


    先创建一个包括全部EXCEL单元格中超链接Hyperlink数据的表,再定位单元格通过列头(如A1,B1)获取超链接信息。本文仅重着于怎样读取EXCEL中的超链接Hyperlink信息。不设计OPEN XML SDK解说。假设须要请參考:

    代码


    using (SpreadsheetDocument myDoc = SpreadsheetDocument.Open(stream, false))
                {
                    WorkbookPart workbookPart = myDoc.WorkbookPart;
                    foreach (var worksheetPart in workbookPart.WorksheetParts)
                    {
                        //全部超链接hyperlink数据表
                        var hyperlinks = worksheetPart.RootElement.Descendants<Hyperlinks>().First().Cast<Hyperlink>();
                        var sheet = worksheetPart.Worksheet.Elements<SheetData>().First();
    
                        foreach (Row r in sheet.Elements<Row>())
                        {
                            var cell = (Cell)r.ElementAtOrDefault(1);
    
                            //举例获取一个单元格
                            cell = (Cell)r.ElementAt(1);
                            //通过单元格列头信息获取超链接
                            var hyperlink = hyperlinks.SingleOrDefault(i => i.Reference.Value == cell.CellReference.Value);
                            
                            if (hyperlink != null)
                            {
                                var hyperlinksRelation = worksheetPart.HyperlinkRelationships.SingleOrDefault(i => i.Id == hyperlink.Id);
                                if (hyperlinksRelation != null)
                                {
                                    //这是终于我们须要的超链接
                                    var url = hyperlinksRelation.Uri.ToString();
                                }
                            }
                        }
                    }
                }


  • 相关阅读:
    62 ip与int类型的转换
    60再谈指针
    59任由制转换
    58进制转换工具
    吉哥工作
    apple
    找第一个非0元素的位置
    若干个数据之和 不考虑溢出
    汇编程序w=x*y+z-200
    4位bcd数转换为2进制数
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10482225.html
Copyright © 2020-2023  润新知