Microsoft.Office.Interop.Excel.Range使用工作表中的公式和值汇编对象数组?

时间:2013-04-26 00:51:50

标签: 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.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

总之,如果它是一个公式,我希望对象数组元素包含公式,但如果公式,我希望对象数组元素包含值。< / p>

解决方案

    object[,] formulaArray = (object[,]) excelRange.Formula;
    object[,] valueArray = (object[,])excelRange.Value2;

所有公式都以“=”开头;因此,根据您的逻辑要求混合对象数组。

0 个答案:

没有答案