public static void main(String[] args) {
short colorNum = 2;//每行显示的颜色的个数
short width1 = 2000;//颜色序宽度
short width = 6000;//颜色名栏位的宽度
XSSFWorkbook workbook = new XSSFWorkbook();
CellStyle thStyle = workbook.createCellStyle();
XSSFSheet sheet = workbook.createSheet("IndexedColors遍历");
Row row =null;
Cell cell;
short i,j,index=0;
String text="";
for(i=0;i<colorNum;i++){
sheet.setColumnWidth((short) i*3 , width1 );
sheet.setColumnWidth((short) i*3 + 1 , width );
}
for (IndexedColors c : IndexedColors.values()){
i=(short) (index/colorNum);
j=(short) (index%colorNum);
thStyle = workbook.createCellStyle();
thStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); //设置前景填充样式
thStyle.setFillForegroundColor(c.getIndex());
row = j==0?sheet.createRow(i):row;//如果到了换行的时候row new一下 否则就当什么都没有发生
row.createCell(3*j).setCellValue(" "+(c.getIndex() + 1000 + "").substring(1,4));
row.createCell(3*j+1).setCellValue(c+"");
row.createCell(3*j+2).setCellStyle(thStyle);
index++;//计数
}
sheet = workbook.createSheet("30X"+colorNum+"颜色遍历");
for( i=0;i<30;i++ ){
row = sheet.createRow(i);
for(j=0;j<colorNum;j++){
thStyle = workbook.createCellStyle();
thStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); //设置前景填充样式
int size =(colorNum*i + j);
thStyle.setFillForegroundColor((short)size);
row.createCell(2*j).setCellValue((short)size);
row.createCell(2*j+1).setCellStyle(thStyle);
}
}
FileOutputStream fileOut = null;
try {
fileOut = new FileOutputStream("D:/POI颜色大全.xlsx");
workbook.write(fileOut);
fileOut.close();
} catch (Exception e) {
System.out.println("保存xlsx的时候发生的异常");
e.printStackTrace();
}
}