【发布时间】:2021-01-26 13:15:45
【问题描述】:
我正在尝试在 B4 到 F500 之间的范围内更改 Row mod 2 = 0 中的颜色,它是一个值列表。我想替换整行的背景颜色。
我正在执行这个:
Range c1 = worksheet.Range["B4"];
Range c2 = (Range) worksheet.Range[F500];
Range range = worksheet.get_Range(c1, c2);
range.Value = arr;
var formatCell = (FormatCondition)range.Rows.FormatConditions.Add(XlFormatConditionType.xlExpression, XlFormatConditionOperator.xlEqual, "=MOD(ROW(),2) = 0");
formatCell.Interior.Color = Color.FromArgb(243, 243, 243);
直到value = arr 代码它工作正常,但是当我想更改颜色时,它给了我这个错误:
参数不正确
怎么了?
你能帮帮我吗?
我不想做一个循环,因为它太慢了
我正在使用 c# 和 Excel 365。
【问题讨论】:
-
这是一个示例,说明我如何在我制作的 Web 服务项目中使用 Interop 为一系列单元格着色:
((Excel.Worksheet)wb.Sheets[x + 1]).Range[((Excel.Worksheet)wb.Sheets[x + 1]).Cells[1, 1], ((Excel.Worksheet)wb.Sheets[x + 1]).Cells[1, cols]].Interior.Color = Microsoft.Office.Interop.Excel.XlRgbColor.rgbLightGoldenrodYellow;