Получить цвет ячейки в Excel с Poi

1

Я прочитал все вопросы, но ответа не было. Если я изменил цвет ячейки в excel, я все равно получаю 0 и 64. Я использую excel 2007 и poi 3.11. Спасибо за помощь.

try{ File file = new File("C:\\Test\\poi.xlsx");
    FileInputStream fis = new FileInputStream(file);
    XSSFWorkbook wb = new XSSFWorkbook(fis);
    XSSFSheet sh = wb.getSheet("Tabelle1");
    XSSFCellStyle cs = sh.getRow(0).getCell(0).getCellStyle();   
    System.out.println("Color: "+cs.getFillForegroundColor()); // 0
    System.out.println("Color: "+cs.getFillBackgroundColor()); // 64
    }catch(Exception e){e.printStackTrace();}
  • 0
    Возможный дубликат: stackoverflow.com/questions/1499739/…
  • 0
    Еще один возможный дубликат: stackoverflow.com/questions/19491231/…
Показать ещё 9 комментариев
Теги:
excel
apache-poi

1 ответ

1
Лучший ответ
cs.getFillForegroundColorColor().getARGBHex()

Это вернет ARGB в шестнадцатеричном формате

ОБНОВИТЬ
Чтобы проверить цвет, вы можете сделать:

Color color = cs.getFillForegroundColorColor();

if (color.GREY_25_PERCENT || color.GREY_40_PERCENT || color.GREY_50_PERCENT || color.GREY_80_PERCENT)
    // is grey
}

ИЛИ если он использует только 2 цвета:

Color color = cs.getFillForegroundColorColor();

if (color.WHITE) {
  // is white
}else {
  // is grey
}
  • 0
    Большое спасибо за вашу помощь
  • 0
    Не проблема! Рад, что мы могли понять это :-)
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню