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

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

Анализируя результаты 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
julezQ 25 Апр 2020 в 19:37
Не забудьте принять и проголосовать за ответ, если ваша исходная проблема была решена, а затем задайте новый вопрос, если у вас есть другая проблема: stackoverflow. ru / help / something-answers
 – 
Frenchy
7 Май 2020 в 21:12

1 ответ

Вы должны использовать XlRgbColor для реализации цвета (для взаимодействия с 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
-1
Frenchy 26 Апр 2020 в 13:30