首页 新闻 会员 周边 捐助

NPOI获取不到Excel中Hyperlink值的问题

0
悬赏园豆:20 [待解决问题]

以正常流程添加某列的值,然后右键附加超链接到某图片,这种是可以获取到的。
现在有一种情况,可能有10行数据中,此列的值都是相同的,Excel中很常用的操作,我们直接拖10行给此列赋值;此时,Excel中,此列的链接是正常可以点击访问的,不过我们用NPOI来获取Hyperlink的时候,就出现了灵异现象,除了第一列我们正常设置超链接的可以获取到之外,其他行的此列Hyperlink都是NULL。。。。

有解决方案吗?

test9119的主页 test9119 | 初学一级 | 园豆:113
提问于:2019-06-05 10:23
< >
分享
所有回答(2)
0

你可以试下用Free Spire.XLS来读取Excel中的超链接
http://www.e-iceblue.cn/spirexls/read-hyperlinks-in-excel.html

ms_doudou | 园豆:1170 (小虾三级) | 2019-06-05 11:27
0

你先判断下这几行,是不是合并单元格,应该是这几行合并到一起了

cell.IsMergedCell
        /// <summary>
        /// 获取合并单元格的值
        /// </summary>
        /// <param name="sheet"></param>
        /// <param name="rowIndex"></param>
        /// <param name="columnIndex"></param>
        /// <returns></returns>
        public static object GetFirstMergedValue(ISheet sheet, int rowIndex, int columnIndex)
        {
            ICell cell = sheet.GetRow(rowIndex).GetCell(columnIndex);
            if (null != cell && !cell.IsMergedCell)
            {
                return GetCellValue(cell);
            }
            object result = null;
            for (int i = 0; i < sheet.NumMergedRegions; i++)
            {
                CellRangeAddress cellrange = sheet.GetMergedRegion(i);
                if (columnIndex >= cellrange.FirstColumn && columnIndex <= cellrange.LastColumn && rowIndex >= cellrange.FirstRow && rowIndex <= cellrange.LastRow)
                {
                    ICell firstCell = sheet.GetRow(cellrange.FirstRow).GetCell(cellrange.FirstColumn);
                    result = GetCellValue(firstCell);
                    return result;
                }
            }
            return result;
        }
大志若愚 | 园豆:2138 (老鸟四级) | 2019-06-05 11:37

看了一下,不是这个问题。。

支持(0) 反对(0) test9119 | 园豆:113 (初学一级) | 2019-06-05 15:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册