Изменение цвета бросков ячеек Excel: «Системный. ComObject не содержит определения« Интерьер »» - PullRequest
1 голос
/ 25 апреля 2020

В настоящее время я сталкиваюсь, когда хочу изменить цвет моего листа Excel. С моим кодом я уже вставляю записи в мой файл Excel. Некоторые указанные c ячейки должны получить специальный цвет.

Когда я запускаю свой код, я всегда получаю одну и ту же ошибку.

Анализируя результаты Google / Stackoverflow, я не нашел решения, хотя по этому поводу были некоторые жалобы.

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, который был очень полезен и работал ... до сих пор.

1 Ответ

0 голосов
/ 26 апреля 2020

Вы должны использовать XlRgbColor для реализации Color (для взаимодействия с Excel 14.0):

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

, если у вас более старая версия: вы должны использовать переводчик

x.Cells[addRow++, 1].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Silver
...