Koşullu Biçimlendirme ile Sıradaki Satır ve Sütunlara Gölge Uygula
Koşullu Biçimlendirme Kullanarak Sıradaki Sütunlara Gölge Uygula
Bu makale, ROW, COLUMN ve MOD gibi Excel’in yerleşik işlevlerinden yararlanmaktadır. İşte bu işlevler hakkında daha fazla anlayış sağlamak için sağlanan kod parçacığının daha iyi anlaşılmasına yönelik küçük ayrıntılar.
- ROW() işlevi, bir hücre referansının satır numarasını döndürür. Referans belirtilmemişse, ROW işlevinin girildiği hücre adresini varsayarsınız.
- COLUMN() işlevi, bir hücre referansının sütun numarasını döndürür. Referans belirtilmemişse, COLUMN işlevinin girildiği hücre adresini varsayarsınız.
- MOD() işlevi, bir sayının bir bölen tarafından bölündükten sonra kalanı döndürür. İşlevin ilk parametresi, kalanını bulmak istediğiniz sayısal değeri, ikinci parametre ise bu sayısal değeri bölmek için kullanılan parametreyi temsil eder. Bölen 0 ise, #DIV/0! hatası döndürür.
Aspose.Cells for Java API’sinin yardımıyla hedefe ulaşmak için kod yazmaya başlayalım.
// 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"); |
Aşağıdaki görüntü, Excel uygulamasında yüklenen sonuç elektronik tabloyu göstermektedir.
Sıralı sütunlara gölge uygulamak için yapmanız gereken tek şey, =MOD(ROW(),2)=0 formülünü =MOD(COLUMN(),2)=0 olarak değiştirmektir; yani, satır dizinini almak yerine formülü sütun dizinine değiştirin. Bu durumda, elde edilen elektronik tablo aşağıdaki resimdeki gibi görünecektir.