如何使用Excel Interop检索与基于引用另一个Excel工作表的公式的Excel单元格关联的值?

问题描述

我可以通过以下方法使用Excel interop正确获取Excel单元格的值:

public string ReadCell(object row,object column)
{
    try
    {
        if (m_Worksheet.Cells[row][column].Value != null)
        {
            return Convert.ToString(m_Worksheet.Cells[row][column].Value2);
        }
     }
     catch
     {
         //
     }
      
        return string.Empty;
    }
}

以上代码适用于普通文本或数字值。

当它是一个公式时-例如,当我使用以下公式时没有文本或值将出现:='Data Selection'!B4

此单元格的实际值为“社区银行”

解决方法

我最终解决了这个问题。 else if情况实际上是我最初使用的情况,但先前在某些情况下引发了异常(我不记得确切的异常是什么)。我待会再回去改善答案。

public string ReadCell(object row,object column)
{
    try
    {
        if (m_Worksheet.Cells[row][column].Value != null)
        {
            return Convert.ToString(m_Worksheet.Cells[row][column].Value2);
        }
        else if (m_Worksheet.Cells[row,column].Value != null)
        {
            return Convert.ToString(m_Worksheet.Cells[row,column].Value2);
        }
     }
     catch
     {
         //
     }

     return string.Empty;
}