Применить засветку для альтернативных строк и столбцов с условным форматированием

Contents
[ ]

В этой статье используются встроенные функции Excel, такие как ROW, COLUMN & MOD. Вот некоторые подробности об этих функциях для лучшего понимания предоставленного фрагмента кода.

  • Функция ROW() возвращает номер строки ссылочной ячейки. Если параметр ссылки опущен, то предполагается, что ссылка - это адрес ячейки, в которой была введена функция ROW().
  • Функция COLUMN() возвращает номер столбца для ссылочной ячейки. Если параметр ссылки опущен, то предполагается, что ссылка - это адрес ячейки, в которой была введена функция COLUMN().
  • Функция MOD() возвращает остаток после деления числа на делитель, где первый параметр функции - это числовое значение, для которого вы хотите найти остаток, и второй параметр - это число, используемое для деления числа. Если делитель равен 0, то она вернет ошибку #DIV/0!.

Давайте начнем писать код для достижения этой цели с помощью Aspose.Cells for .NET API.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create an instance of Workbook or load existing
var book = new Workbook();
// Access the Worksheet on which desired rule has to be applied
var sheet = book.Worksheets[0];
// Add FormatConditions to the instance of Worksheet
int idx = sheet.ConditionalFormattings.Add();
// Access the newly added FormatConditions via its index
var conditionCollection = sheet.ConditionalFormattings[idx];
// Define a CellsArea on which conditional formatting will be applicable
// The code creates a CellArea ranging from A1 to I20
var area = CellArea.CreateCellArea("A1", "I20");
//Add area to the instance of FormatConditions
conditionCollection.AddArea(area);
// Add a condition to the instance of FormatConditions
// For this case, the condition type is expression, which is based on some formula
idx = conditionCollection.AddCondition(FormatConditionType.Expression);
// Access the newly added FormatCondition via its index
FormatCondition formatCondirion = conditionCollection[idx];
// Set the formula for the FormatCondition
// Formula uses the Excel's built-in functions as discussed earlier in this article
formatCondirion.Formula1 = @"=MOD(ROW(),2)=0";
// Set the background color and patter for the FormatCondition's Style
formatCondirion.Style.BackgroundColor = Color.Blue;
formatCondirion.Style.Pattern = BackgroundType.Solid;
// Save the result on disk
book.Save(dataDir + "output_out.xlsx");

В следующем снимке экрана показан полученный электронный лист, загруженный в приложение Excel.

todo:image_alt_text

Для применения засветки к альтернативным столбцам вам нужно изменить формулу =MOD(ROW(),2)=0 на =MOD(COLUMN(),2)=0, то есть вместо получения индекса строки измените формулу для получения индекса столбца. Результирующая электронная таблица в этом случае будет выглядеть следующим образом.

todo:image_alt_text