我需要从工作表中获取所有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
}
答案 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
,选择查看公式并搜索字符串