以正常流程添加某列的值,然后右键附加超链接到某图片,这种是可以获取到的。
现在有一种情况,可能有10行数据中,此列的值都是相同的,Excel中很常用的操作,我们直接拖10行给此列赋值;此时,Excel中,此列的链接是正常可以点击访问的,不过我们用NPOI来获取Hyperlink的时候,就出现了灵异现象,除了第一列我们正常设置超链接的可以获取到之外,其他行的此列Hyperlink都是NULL。。。。
有解决方案吗?
你先判断下这几行,是不是合并单元格,应该是这几行合并到一起了
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;
}
看了一下,不是这个问题。。