改变Excel单元格的颜色会引发"'System.__ComObject'不包含'Interior'的定义"。

问题描述 投票:0回答:1

我目前面临的问题是,当我想改变我的excel表的颜色,我的代码,我已经插入条目到我的excel文件。一些特定的单元格应该得到一个特殊的颜色。

当我运行我的代码时,我总是得到同样的错误。

分析GoogleStackoverflow的结果,我没有找到一个解决方案,尽管有一些关于这个问题的投诉。

Workbooks wbs = excel.Workbooks;
Workbook sheet = wbs.Open(fileName);
excel.DisplayAlerts = false;
Worksheet y = sheet.ActiveSheet;
y.Copy(y, Type.Missing);
int index = y.Index;
int addRow = 2;
Worksheet x = (Worksheet)excel.Worksheets[index];
//...
//this line throws the error
x.Cells[addRow++, 1].Interior.Color = System.Drawing.Color.Blue;
//...

我使用的是Microsoft Office Interop,它非常有用,也很好用...直到现在。

c# .net office-interop
1个回答
-1
投票

你必须使用XlRgbColor来实现颜色(适用于Excel interop 14.0)。

x.Cells[addRow++, 1].Interior.Color = XlRgbColor.xlBlue;  

如果你有旧的版本:你必须使用翻译器。

x.Cells[addRow++, 1].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Silver
© www.soinside.com 2019 - 2024. All rights reserved.