目前,我正在使用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)";}
}