阅读Excel公式

时间:2017-04-12 20:38:22

标签: c# excel office-interop

我需要从工作表中获取所有excel公式。我正在使用Range.SpecialCells并遍历每个单元格以获得公式,它真的很慢。有没有更好的解决方案只获得公式作为字符串列表?

示例代码:

Excel.Worksheet worksheet = Workbook.Worksheets["Sheet1"];
Range range = worksheet.UsedRange.SpecialCells(xlCellTypeFormulas);
foreach(Cell cell in range.Cells)
{
   string formula = cell.formula.ToString();
   //some code
}

2 个答案:

答案 0 :(得分:0)

您可以尝试使用 range.formula 属性。

例如:

  

在单元格A3中,单元格公式为= = DATE(D3,C3,1)'

     

在单元格B3中,单元格公式为' = A3'

使用代码:

Range r = activeWorksheet.get_Range("A3","B3");
var c = r.Formula;

变量c将包含类似于该范围中指定的单元格列表及其各自的公式。

  

C的输出:

     

[1,1] =" =日期(D3,C3,1)"

     

[1,2] =" = A3"

答案 1 :(得分:0)

这是一种完全不同的方式,但它可能对你有帮助,

只需按CRTL +`(反引号),这将使所有公式在Excel工作表中可见。然后,您可以搜索所需内容或复制粘贴到txt文件中以进行搜索和修改。

如果您只是在公式中搜索某些字符串,可以使用CTRL + F,选择查看公式并搜索字符串