条件付き書式を使用して交互の行と列に網掛けを適用する
Contents
[
Hide
]
Aspose.Cells APIは、Worksheetオブジェクトの条件付き書式ルールを追加および操作する手段を提供します。これらのルールは、条件や規則に基づいて所望の書式を得るために多様な方法で調整できます。この記事では、Aspose.Cells for .NET APIを使用して、条件付き書式ルールやExcelの組み込み関数を使用して交互の行と列にシェーディングを適用する方法を示します。
この記事では、Excelの組み込み関数であるROW、COLUMN、MODなどの詳細について説明します。これらの関数の詳細な内容を提供し、コードスニペットの理解を深めます。
- ROW() 関数は、セル参照の行番号を返します。参照パラメータが省略された場合、ROW関数が入力されたセルのセルアドレスを参照するものとします。
- COLUMN() 関数は、セル参照の列番号を返します。参照パラメータが省略された場合、COLUMN関数が入力されたセルのセルアドレスを参照するものとします。
- MOD() 関数は、数値が除算された後の余りを返します。関数の最初のパラメーターは、余りを求めたい数値で、2番目のパラメーターは、数値パラメーターで除算する数です。除数が0の場合、#DIV/0!エラーが返されます。
Aspose.Cells for .NET 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-.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アプリケーションで読み込まれた結果のスプレッドシートを示しています。
![]() |
---|
交互の列に網掛けを適用するためには、単に式を =MOD(ROW(),2)=0 から =MOD(COLUMN(),2)=0 に変更するだけで済みます。つまり、行索引を取得する代わりに、式を変更して列索引を取得します。 この場合の結果のスプレッドシートは以下のようになります。
![]() |
---|