0

假设我在单元格 A1 中有一个公式,例如:A1 contains =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 个条目:

值数组[0,0]=10

值数组[0,1]=5

值数组[0,2]=5

如何改为编写 C# 以便返回:

值数组[0,0]="=B1+C1"

值数组[0,1]=5

值数组[0,2]=5

综上所述,如果是公式,我希望对象数组元素包含公式,但如果不是公式,我希望对象数组元素包含值。

解决方案

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

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

4

0 回答 0