问题描述
我正在尝试使用OpenXML文档格式以C#提取它们。
我正在这样阅读文档:
WorkbookPart workbookPart = doc.WorkbookPart;
Sheet thesheet = (Sheet)doc.WorkbookPart.Workbook.Sheets.ChildElements.GetItem(0);
Worksheet theWorksheet = ((WorksheetPart)workbookPart.GetPartById(thesheet.Id)).Worksheet;
SheetData thesheetdata = (SheetData)theWorksheet.GetFirstChild<SheetData>();
然后遍历每个行和单元格,将数据保存在一个类中。我需要将链接另存为此类的字符串属性,但是我只获得有关单元格的可见内容(“单击我”。)
IEnumerable<Hyperlink> hyperlinks = theWorksheet.Descendants<Hyperlink>();
,并将单元格引用(例如“ F5”)与IEnumerable中对象的reference
属性进行匹配,将为我提供所需的超链接的引用ID(例如“ rId12”),但是我找不到一个获取实际链接的方法。
我尝试过:
HyperlinkRelationship hlr = workbookPart.HyperlinkRelationships.FirstOrDefault(a => a.Id == link.Id);
但是结果是null
,甚至workbookPart.HyperlinkRelationships
都不会在任何元素的任何属性中包含任何链接字符串。
我想要的是在获取链接字符串的同时还保留行数据(它们出现的位置)。我已经在网上进行了广泛的搜索,但是找不到任何有意义的结果,如何实例化包含这些关系的对象的任何帮助或指导都将大有帮助,对此深表感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)