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

Применение затенения к чередующимся строкам и столбцам с использованием условного форматирования

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

  • СТРОКА() Функция возвращает номер строки ссылки на ячейку. Если ссылка опущена, предполагается, что ссылка является адресом ячейки, в которой была введена функция ROW.
  • **СТОЛБЕЦ()**Функция возвращает номер столбца ссылки на ячейку. Если ссылка опущена, предполагается, что ссылка является адресом ячейки, в которой была введена функция СТОЛБЦ.
  • МОД() Функция возвращает остаток после деления числа на делитель, где первый параметр функции — это числовое значение, остаток от которого вы хотите найти, а второй параметр — это число, используемое для деления на числовой параметр. Если делитель равен 0, то он вернет #DIV/0! ошибка.

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

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getDataDir(ApplyShadingToAlternateRowsAndColumns.class);
/*
* Create an instance of Workbook Optionally load an existing spreadsheet by passing its stream or path to Workbook
* constructor
*/
Workbook book = new Workbook();
// Access the Worksheet on which desired rule has to be applied
Worksheet sheet = book.getWorksheets().get(0);
// Add FormatConditions to the instance of Worksheet
int index = sheet.getConditionalFormattings().add();
// Access the newly added FormatConditions via its index
FormatConditionCollection conditionCollection = sheet.getConditionalFormattings().get(index);
// Define a CellsArea on which conditional formatting will be applicable
CellArea 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
index = conditionCollection.addCondition(FormatConditionType.EXPRESSION);
// Access the newly added FormatCondition via its index
FormatCondition formatCondirion = conditionCollection.get(index);
// Set the formula for the FormatCondition. Formula uses the Excel's built-in functions as discussed earlier in this
// article
formatCondirion.setFormula1("=MOD(ROW(),2)=0");
// Set the background color and patter for the FormatCondition's Style
formatCondirion.getStyle().setBackgroundColor(Color.getBlue());
formatCondirion.getStyle().setPattern(BackgroundType.SOLID);
// Save the result on disk
book.save(dataDir + "output.xlsx");

На следующем снимке показана результирующая электронная таблица, загруженная в приложение Excel.

дело:изображение_альтернативный_текст

Чтобы применить затенение к альтернативным столбцам, все, что вам нужно сделать, это изменить формулу**= ОСТАТ (СТРОКА (), 2) = 0** как**= ОСТАТ (СТОЛБЦ (), 2) = 0** , это; вместо получения индекса строки измените формулу, чтобы получить индекс столбца. Результирующая электронная таблица в этом случае будет выглядеть следующим образом.

дело:изображение_альтернативный_текст