Применить засветку для альтернативных строк и столбцов с условным форматированием
В этой статье используются встроенные функции Excel, такие как ROW, COLUMN & MOD. Вот некоторые подробности об этих функциях для лучшего понимания предоставленного фрагмента кода.
- Функция ROW() возвращает номер строки ссылки. Если параметр reference пропущен, считается, что ссылка — это адрес ячейки, в которой вызвана функция.
- Функция COLUMN() возвращает номер столбца ссылки. Если параметр reference пропущен, считается, что ссылка — это адрес ячейки, в которой вызвана функция.
- Функция MOD() возвращает остаток после деления числа на делитель, где первый параметр функции - это числовое значение, для которого вы хотите найти остаток, и второй параметр - это число, используемое для деления числа. Если делитель равен 0, то она вернет ошибку #DIV/0!.
Давайте начнём писать код для реализации этой задачи с помощью API Aspose.Cells for Node.js via C++.
const path = require("path"); | |
const AsposeCells = require("aspose.cells.node"); | |
// The path to the documents directory. | |
const dataDir = path.join(__dirname, "data"); | |
// Create an instance of Workbook or load existing | |
const book = new AsposeCells.Workbook(); | |
// Access the Worksheet on which desired rule has to be applied | |
const sheet = book.getWorksheets().get(0); | |
// Add FormatConditions to the instance of Worksheet | |
let idx = sheet.getConditionalFormattings().add(); | |
// Access the newly added FormatConditions via its index | |
const conditionCollection = sheet.getConditionalFormattings().get(idx); | |
// Define a CellsArea on which conditional formatting will be applicable | |
// The code creates a CellArea ranging from A1 to I20 | |
const area = AsposeCells.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(AsposeCells.FormatConditionType.Expression); | |
// Access the newly added FormatCondition via its index | |
const formatCondition = conditionCollection.get(idx); | |
// Set the formula for the FormatCondition | |
formatCondition.setFormula1("=MOD(ROW(),2)=0"); | |
// Set the background color and pattern for the FormatCondition's Style | |
formatCondition.getStyle().setBackgroundColor(AsposeCells.Color.Blue); | |
formatCondition.getStyle().setPattern(AsposeCells.BackgroundType.Solid); | |
// Save the result on disk | |
book.save(path.join(dataDir, "output_out.xlsx")); |
В следующем снимке экрана показан полученный электронный лист, загруженный в приложение Excel.
![]() |
---|
Для применения засветки к альтернативным столбцам вам нужно изменить формулу =MOD(ROW(),2)=0 на =MOD(COLUMN(),2)=0, то есть вместо получения индекса строки измените формулу для получения индекса столбца.
Результирующая электронная таблица в этом случае будет выглядеть следующим образом.
![]() |
---|