【问题标题】:excel interop c#: changing row colorexcel interop c#:更改行颜色
【发布时间】: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;

标签: c# excel interop


【解决方案1】:

我得到了解决方案:

Workbook wkb = GetApp().Workbooks.Open(excelLocation);
wkb.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, outputLocation);

wkb.Close();
GetApp().Quit();

问题是ExportAsFixedFormat 未被识别为指令。我与库发生冲突,我决定全部删除。

仅适用于 Microsoft.Office.Interop.Excel;

之后我必须安装 Microsoft.CSSharp 作为互操作的要求。

现在可以正常使用了

【讨论】:

    猜你喜欢
    • 2011-08-14
    • 2022-12-03
    • 2016-01-13
    • 2010-12-03
    • 2012-07-24
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    相关资源
    最近更新 更多