Spire.XLS for Javaという無料のライブラリを利用して、エクセルで三つ色、また、四つ色のTraffic lights「直訳:交通信号」を作成できます。今日はこの方法を紹介していきます。
下準備
1.E-iceblueの公式サイトからFree Spire. XLS for Java無料版をダウンロードしてください。
2.IDEを起動して新規プロジェクトを作成してから、インストールされたファイルにあった相応しいSpire. XLS.jarを参照に追加してください。
```JAVA import com.spire.xls.*; import com.spire.xls.core.IConditionalFormat; import com.spire.xls.core.spreadsheet.collections.XlsConditionalFormats;import java.awt.*;
public class setTrafficLightsIcons {
public static void main(String[] args) {
Workbook workbook = new Workbook();
//シートを追加します。
Worksheet sheet = workbook.getWorksheets().get(0);
//データを追加します。
sheet.getCellRange("A1").setText("Traffic Lights");
sheet.getCellRange("A2").setNumberValue(0.95);
sheet.getCellRange("A2").setNumberFormat("0%");
sheet.getCellRange("A3").setNumberValue(0.5);
sheet.getCellRange("A3").setNumberFormat("0%");
sheet.getCellRange("A4").setNumberValue(0.1);
sheet.getCellRange("A4").setNumberFormat("0%");
sheet.getCellRange("A5").setNumberValue(0.9);
sheet.getCellRange("A5").setNumberFormat("0%");
sheet.getCellRange("A6").setNumberValue(0.7);
sheet.getCellRange("A6").setNumberFormat("0%");
sheet.getCellRange("A7").setNumberValue(0.6);
sheet.getCellRange("A7").setNumberFormat("0%");
//高さと幅を設定します。
sheet.getAllocatedRange().setRowHeight(20);
sheet.getAllocatedRange().setColumnWidth(25);
//条件付き書式を設定します。
XlsConditionalFormats conditional = sheet.getConditionalFormats().add();
conditional.addRange(sheet.getAllocatedRange());
IConditionalFormat format1 = conditional.addCondition();
//背景に色を設定します。
format1.setFormatType(ConditionalFormatType.CellValue);
format1.setFirstFormula("300");
format1.setOperator(ComparisonOperatorType.Less);
format1.setFontColor(Color.black);
format1.setBackColor(Color.lightGray);
// 条件付き書式で交通信号を設定します。
conditional.addRange(sheet.getAllocatedRange());
IConditionalFormat format = conditional.addCondition();
format.setFormatType(ConditionalFormatType.IconSet);
format.getIconSet().setIconSetType(IconSetType.ThreeTrafficLights1);
//保存します。
String result = "output/setTrafficLightsIcons_result.xlsx";
workbook.saveToFile(result, ExcelVersion.Version2013);
}
}
<h4><strong>実行結果</strong></h4>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/49997fac-f5c2-9a95-a569-8493f26fbf52.png)