0

出于性能原因,我最近进行了代码更改以一次更新多个单元格。代码如下所示:

    private static void SetRangeValues(Worksheet sheet, int row, int col, object[] cellData)
    {
        var range = sheet.GetCell(row, col);
        range = range.get_Resize(1, cellData.Length);
        range.Value = cellData;
    }

这工作正常,但如果有多个单元格正在更新,几乎总是存在,那么如果不手动进入单元格并重新应用条件格式,则不会应用单元格中存在的任何条件格式 - 当然用户不愿意做。我可以让它正常工作的唯一方法是返回一次设置一个单元格的值,这不是一个选项。

我尝试设置和切换 worksheet.EnableFormatConditionsCalculation(无效),循环遍历 range.FormatConditions 枚举器并将 ModifyAppliesToRange 设置为另一个单元格并返回(出现“尝试读取或写入受保护的内存。这通常是一个迹象其他内存已损坏”异常)。有任何想法吗?

4

0 回答 0