C# Microsoft.Office.Interop.Excel.Range是否使用工作表中的公式和值组合对象数组?

C# Microsoft.Office.Interop.Excel.Range是否使用工作表中的公式和值组合对象数组?,c#,excel,excel-interop,C#,Excel,Excel Interop,假设我在单元格A1中有一个公式,例如:A1包含=B1+C1 B1包含数字5 C1包含数字5 然后我使用以下C#在工作表中获取UsedRange的对象数组: Microsoft.Office.Interop.Excel.Range excelRange = excelWorksheet.UsedRange; object[,] valueArray = (object[,])excelRange.get_Value(XlRangeValueDataType.xlRangeValueDefaul

假设我在单元格A1中有一个公式,例如:A1包含=B1+C1

B1包含数字5

C1包含数字5

然后我使用以下C#在工作表中获取UsedRange的对象数组:

Microsoft.Office.Interop.Excel.Range excelRange = excelWorksheet.UsedRange;

object[,] valueArray =  (object[,])excelRange.get_Value(XlRangeValueDataType.xlRangeValueDefault);
ValueArray将包含3个条目:

ValueArray[0,0]=10

ValueArray[0,1]=5

ValueArray[0,2]=5

我该如何编写C#以便返回以下内容:

ValueArray[0,0]=“=B1+C1”

ValueArray[0,1]=5

ValueArray[0,2]=5

总之,如果它是公式,我希望对象数组元素包含公式,但如果它不是公式,我希望对象数组元素包含值

解决方案
所有公式都以“=”开头;因此,请按照您的逻辑混合对象数组。

不完全确定,但请检查是否存在
excelRange.get\u Formula()
方法……它也可能只是
excelRange.Formula()
类似@joseph4tw建议的方法。您应该能够访问范围/单元格的
.Value
.Value2
.Formula
和/或
.Formula.Text
。我被访问值和公式的方式不一致弄糊涂了。此外,“Value2”没有意义。感谢cookie Crambs的家伙们。Excel对象模型有一个Value和Value2的Range对象方法:它们对格式为日期或货币的单元格的处理方式不同。
    object[,] formulaArray = (object[,]) excelRange.Formula;
    object[,] valueArray = (object[,])excelRange.Value2;