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

How can I retrieve the value associated with an Excel Cell that is based on a formula referencing another Excel Sheet using Excel Interop?

我可以通过以下方法使用 Excel 互操作正确地获取 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;
}