条件付き書式設定
条件付き書式設定は、Microsoft Excel の高度な機能であり、セルやセル範囲に書式を適用し、その書式をセルの値や式の値に応じて変更することができます。 例えば、セルの値が500を超える場合のみ太字で表示するようにすることができます。 セルの値が条件を満たした場合、指定された書式がセルに適用されます。 もしセルの値が条件を満たさない場合は、デフォルトの書式が使用されます。 Microsoft Excel では、書式、次いで 条件付き書式設定 を選択して、条件付き書式設定ダイアログを開くことができます。
Microsoft Excel における条件付き書式設定
Aspose.Cells は、ランタイムでセルに条件付き書式設定を適用する機能をサポートしています。 この記事ではその方法について説明します。
条件付き書式の適用
Aspose.Cells は次の2つの方法で条件付き書式設定をサポートしています:
デザイナー スプレッドシートを使用
開発者は、Microsoft Excel で条件付き書式設定を含むデザイナー スプレッドシートを作成し、それを Aspose.Cells で開くことができます。 Aspose.Cells はデザイナー スプレッドシートを読み込み、保存し、条件付き書式設定を保持します。 デザイナー スプレッドシートについて詳しく知りたい場合は、デザイナー スプレッドシートとは を参照してください。
ランタイムで条件付き書式を適用
Aspose.Cells は、ランタイムで条件付き書式設定を適用する機能をサポートしています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Path to source file | |
String dataDir = Utils.getSharedDataDir(ConditionalFormattingatRuntime.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
Worksheet sheet = workbook.getWorksheets().get(0); | |
ConditionalFormattingCollection cfs = sheet.getConditionalFormattings(); | |
// The first method:adds an empty conditional formatting | |
int index = cfs.add(); | |
FormatConditionCollection fcs = cfs.get(index); | |
// Sets the conditional format range. | |
CellArea ca1 = new CellArea(); | |
ca1.StartRow = 0; | |
ca1.StartColumn = 0; | |
ca1.EndRow = 0; | |
ca1.EndColumn = 0; | |
CellArea ca2 = new CellArea(); | |
ca2.StartRow = 0; | |
ca2.StartColumn = 0; | |
ca2.EndRow = 0; | |
ca2.EndColumn = 0; | |
CellArea ca3 = new CellArea(); | |
ca3.StartRow = 0; | |
ca3.StartColumn = 0; | |
ca3.EndRow = 0; | |
ca3.EndColumn = 0; | |
fcs.addArea(ca1); | |
fcs.addArea(ca2); | |
fcs.addArea(ca3); | |
// Sets condition formulas. | |
int conditionIndex = fcs.addCondition(FormatConditionType.CELL_VALUE, OperatorType.BETWEEN, "=A2", "100"); | |
FormatCondition fc = fcs.get(conditionIndex); | |
int conditionIndex2 = fcs.addCondition(FormatConditionType.CELL_VALUE, OperatorType.BETWEEN, "50", "100"); | |
// Saving the Excel file | |
workbook.save(dataDir + "CFAtRuntime_out.xls"); |
フォントの設定
Microsoft Excel でのフォントの設定
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Path to source file | |
String dataDir = Utils.getSharedDataDir(SettingFontStyle.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
FormatCondition fc = null; | |
Style style = fc.getStyle(); | |
Font font = style.getFont(); | |
font.setItalic(true); | |
font.setBold(true); | |
font.setStrikeout(true); | |
font.setUnderline(FontUnderlineType.DOUBLE); | |
font.setColor(Color.getBlack()); | |
fc.setStyle(style); | |
// Saving the Excel file | |
workbook.save(dataDir + "SFontStyle_out.xls"); |
境界線の設定
Microsoft Excel での罫線の設定
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Path to source file | |
String dataDir = Utils.getSharedDataDir(SetBorder.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
Worksheet sheet = workbook.getWorksheets().get(0); | |
// Adds an empty conditional formatting | |
int index = sheet.getConditionalFormattings().add(); | |
FormatConditionCollection fcs = sheet.getConditionalFormattings().get(index); | |
// Sets the conditional format range. | |
CellArea ca = new CellArea(); | |
ca.StartRow = 0; | |
ca.EndRow = 5; | |
ca.StartColumn = 0; | |
ca.EndColumn = 3; | |
fcs.addArea(ca); | |
// Adds condition. | |
int conditionIndex = fcs.addCondition(FormatConditionType.CELL_VALUE, OperatorType.BETWEEN, "50", "100"); | |
// Sets the background color. | |
FormatCondition fc = fcs.get(conditionIndex); | |
Style style = fc.getStyle(); | |
style.setBorder(BorderType.LEFT_BORDER, CellBorderType.DASHED, Color.fromArgb(0, 255, 255)); | |
style.setBorder(BorderType.TOP_BORDER, CellBorderType.DASHED, Color.fromArgb(0, 255, 255)); | |
style.setBorder(BorderType.RIGHT_BORDER, CellBorderType.DASHED, Color.fromArgb(0, 255, 255)); | |
style.setBorder(BorderType.RIGHT_BORDER, CellBorderType.DASHED, Color.fromArgb(255, 255, 0)); | |
fc.setStyle(style); |
パターンの設定
Microsoft Excel でのセルのパターンの設定
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Path to source file | |
String dataDir = Utils.getSharedDataDir(SetPattern.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
Worksheet sheet = workbook.getWorksheets().get(0); | |
// Adds an empty conditional formatting | |
int index = sheet.getConditionalFormattings().add(); | |
FormatConditionCollection fcs = sheet.getConditionalFormattings().get(index); | |
// Sets the conditional format range. | |
CellArea ca = new CellArea(); | |
ca.StartRow = 0; | |
ca.EndRow = 5; | |
ca.StartColumn = 0; | |
ca.EndColumn = 3; | |
fcs.addArea(ca); | |
// Adds condition. | |
int conditionIndex = fcs.addCondition(FormatConditionType.CELL_VALUE, OperatorType.BETWEEN, "50", "100"); | |
// Sets the background color. | |
FormatCondition fc = fcs.get(conditionIndex); | |
Style style = fc.getStyle(); | |
style.setPattern(BackgroundType.REVERSE_DIAGONAL_STRIPE); | |
style.setForegroundColor(Color.fromArgb(255, 255, 0)); | |
style.setBackgroundColor(Color.fromArgb(0, 255, 255)); | |
fc.setStyle(style); |