Excel ドキュメントに大量のデータが含まれている場合、特殊な値を見つけるのは非常に困難になります。この場合、条件付き書式を使用して、特定の条件を満たす値を含むセルを自動的にハイライトできます。この記事では、Spire.XLS for Java を使用して Excel で平均より高いセルと低いセルをハイライトする方法を紹介します。
Spire.XLS for Java をインストールします
まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトのpom.xmlファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>12.9.1</version>
</dependency>
</dependencies>
Excel で平均より高いセルと低いセルをハイライトする
具体的な操作手順を以下に示します。
- Workbook オブジェクトを作成します。
- Workbook.loadFromFile() メソッドを使用して、Excel サンプルドキュメントをロードします。
- Workbook.getWorksheets.get(index) メソッドを使用して、指定したワークシートを取得します。
- Worksheet.getConditionalFormats().add() メソッドを使用して、ワークシートに条件付き書式を追加します。次に、XlsConditionalFormats クラスのオブジェクトを返します。
- XlsConditionalFormats.addRange() メソッドを使用して、条件付き書式を適用するセルの範囲を設定します。
- XlsConditionalFormats.addAverageCondition() メソッドを使用して、平均条件を追加します。平均より高いセルの背景色を黄色に変更します。
- 別の平均条件を追加して、平均より低いセルの背景色を薄いグレーに変更します。
- Workbook.saveToFile() メソッドを使用して、ワークブックを Excel ファイルに保存します。
- Java
import com.spire.xls.AverageType;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.core.IConditionalFormat;
import com.spire.xls.core.spreadsheet.collections.XlsConditionalFormats;
import java.awt.*;
public class HighlightValuesAboveAndBelowAverage {
public static void main(String[] args) {
//Workbookオブジェクトを作成する
Workbook workbook = new Workbook();
//Excelサンプルドキュメントをロードする
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.xlsx");
//最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//ワークシートに条件付き書式を追加する
XlsConditionalFormats format = sheet.getConditionalFormats().add();
//条件付き書式を適用するセルの範囲を設定する
format.addRange(sheet.getRange().get("F2:F14"));
//平均より高いセルを取得し、背景色を黄色に設定する
IConditionalFormat condition1 = format.addAverageCondition(AverageType.Above);
condition1.setBackColor(Color.yellow);
//平均より低いセルを取得し、背景色を明るいグレーに設定する
IConditionalFormat condition2 = format.addAverageCondition(AverageType.Below);
condition2.setBackColor(Color.lightGray);
//平均以下の値の数を取得する
sheet.getRange().get("F17").setFormula("=COUNTIF(F2:F14,\"<\"&AVERAGE(F2:F14))");
//平均以上の値の数を取得する
sheet.getRange().get("F16").setFormula("=COUNTIF(F2:F14,\">\"&AVERAGE(F2:F14))");
//ワークブックをExcelファイルに保存する
workbook.saveToFile("output/HighlightValues.xlsx", ExcelVersion.Version2016);
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。