Применение затенения к чередующимся строкам и столбцам с условным форматированием
Contents
[
Hide
]
Aspose.Cells API-интерфейсы предоставляют средства для добавления и управления правилами условного форматирования дляРабочий лист объект. Эти правила можно настроить несколькими способами, чтобы получить желаемое форматирование на основе условий или правил. В этой статье будет продемонстрировано использование Aspose.Cells for Java API для применения затенения к чередующимся строкам и столбцам с помощью правил условного форматирования и встроенных функций Excel.
Применение затенения к чередующимся строкам и столбцам с использованием условного форматирования
В этой статье используются встроенные функции Excel, такие как ROW, COLUMN и MOD. Вот небольшие подробности об этих функциях для лучшего понимания приведенного ниже фрагмента кода.
- СТРОКА() Функция возвращает номер строки ссылки на ячейку. Если ссылка опущена, предполагается, что ссылка является адресом ячейки, в которой была введена функция ROW.
- **СТОЛБЕЦ()**Функция возвращает номер столбца ссылки на ячейку. Если ссылка опущена, предполагается, что ссылка является адресом ячейки, в которой была введена функция СТОЛБЦ.
- МОД() Функция возвращает остаток после деления числа на делитель, где первый параметр функции — это числовое значение, остаток от которого вы хотите найти, а второй параметр — это число, используемое для деления на числовой параметр. Если делитель равен 0, то он вернет #DIV/0! ошибка.
Давайте начнем писать код для достижения цели с помощью Aspose.Cells for Java API.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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** , это; вместо получения индекса строки измените формулу, чтобы получить индекс столбца. Результирующая электронная таблица в этом случае будет выглядеть следующим образом.