如何使用 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;
}
我可以通过以下方法使用 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;
}