Как сделать альтернативное затенение строки с помощью Office.Interop.Excel? - PullRequest
5 голосов
/ 05 апреля 2011

Я использую Office Interop через C # 4.0 для записи файла Excel. Я хотел бы затенять чередующиеся ряды. Я знаю, как это сделать с помощью графического интерфейса в Excel. Я также мог бы циклически проходить по каждой строке, чтобы обеспечить затенение, но эта опция неприемлемо медленна для больших наборов данных. Есть ли способ, используя Office.Interop.Excel для установки параметров условного форматирования в графическом интерфейсе Excel?

РЕДАКТИРОВАТЬ: Добавлено больше информации

Использование C # с .NET 4.0 и Office Interop 2007

1 Ответ

11 голосов
/ 05 апреля 2011

После некоторого исследования и игры вокруг, я считаю, что нашел лучший ответ.Следующий код будет чередовать цвета строк для листа.

Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Interop.Excel.Application();
Workbook workbook = excel.Workbook.Add();
Worksheet worksheet = workbook.Worksheets.Item[1];

FormatCondition format = worksheet.Rows.FormatConditions.Add(XlFormatConditionType.xlExpression, XLFormatConditionOperator.xlEqual, "=MOD(ROW(),2) = 0");
format.Interior.Color = XlRgbColor.rgbBlue;
...