使用C#和vsto提高excel插件中代码的速度

时间:2013-10-09 16:30:34

标签: c# excel vsto

目前,我正在使用C#和vsto开发一个excel插件。其中一个功能是将所有选定单元格的值四舍五入到最接近的美元。以下是我试图实现的代码,它似乎与选择的几个单元格完美配合。

然而,当选择的细胞数量很大(例如整个col)时,需要花费大量时间来完成这项工作。我想问一下是否有任何方法可以提高代码的效率。

        Excel.Application ExApp = Globals.Helper.Application as Excel.Application;


        Excel.Worksheet ExWorksheet = ExApp.ActiveSheet as Excel.Worksheet;

        Excel.Range rng = (Excel.Range)ExApp.ActiveCell;

        Microsoft.Office.Interop.Excel.Range selectedRange =
            ExApp.ActiveWindow.RangeSelection;

        foreach (Excel.Range r in selectedRange.Cells)
        {
            if(r.Formula!=null)
            {
            string v = r.Formula.Replace("=", "");
            r.Formula = "=Round(" + v + ",0)";}
        }

0 个答案:

没有答案