为什么 style.FillForegroundColorColor = new XSSFColor(Color) 的赋值会越来越慢

    public bool SetBackColor(int Row, int Col, byte[] Color)
     {
            ICell cell = sheet.GetRow(Row).GetCell(Col);            //获取单元格控制权 
            XSSFCellStyle style;
            if (dic.ContainsKey(Color[0].ToString() + Color[1].ToString() + Color[2].ToString()))
            { 
                style = dic[Color[0].ToString() + Color[1].ToString() + Color[2].ToString()]; 
            }
            else
            { 
                style = (XSSFCellStyle)work.CreateCellStyle();//创建一个空的单元格格式 
                style.FillForegroundColor = 0;
                style.FillPattern = FillPattern.SolidForeground;
                style.FillForegroundColorColor = new XSSFColor(Color); 
                dic.Add(Color[0].ToString() + Color[1].ToString() + Color[2].ToString(), style);
            }
            cell.CellStyle = style;   
      }

为什么 style.FillForegroundColorColor = new XSSFColor(Color) 的赋值会越来越慢。原来几毫秒,跑了几百遍,最后变成一两百毫秒。这是为什么,这不是简单的赋值吗?

你是循环了吗 应该是你的秒表没有初始化把
而且这样过快的new对象没有及时释放 内存受不了 遮点小问题不用考虑时间要考虑空间
如果次数过多的画把颜色提前初始化定义为常量