Как я добираюсь (ПОИ Apache Java HSSF) Цвет фона для данной ячейки?

Самый легкий путь состоит в том, чтобы дать каждому человеку того же программиста для работы с и та же самая часть кода.

проблема, с которой Вы собираетесь столкнуться, то, что найм не похож на программирование. Нет пошагового процесса для продвижения к правильному ответу относительно того, кто нанять. (у Вас может быть несколько шагов для принятия легче решения). Необходимо оценить каждого на их преимуществах и т.д. и по существу высказать образованное предположение, относительно которого лучший для найма. Иногда Вы не угадываете.

другой вещью о программировании пары, которое Вы оказываетесь перед необходимостью не упускать, является количество времени, необходимое, чтобы иметь каждого кандидата на том этапе, проходят такой тест. Если бы я искал задание, то я не решился бы идти интервью в компании, которая попросила бы, чтобы я сделал это. Почему? Поскольку это - много времени, и если я беру интервью в нескольких местах, я мог бы провести буквально дни, просто идущие в интервью относительно заданий, которые я даже не могу получить или хотеть. Someplaces как Google или MS был бы исключением, но большинство мест не похоже на те два. (Не говоря уже о том, что, если они работают над реальным кодом, Вы по существу просите, чтобы они сделали чье-то задание бесплатно).

10
задан Randomness 12 June 2011 в 14:20
поделиться

3 ответа

Класс HSSFCell предоставляет статические классы цвета, перечисленные здесь:

http://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor .html

Если вы хотите создать свои собственные цвета, вам потребуется создать и изменить собственную палитру. Apache также предоставляет очень четкое руководство по этому поводу:

http://poi.apache.org/spreadsheet/quick-guide.html#CustomColors

7
ответ дан 3 December 2019 в 21:22
поделиться

Вы бы сделали что-то вроде:

HSSFCell myCell = ...;
HSSFCellStyle myStyle = workbook.createCellStyle();
myStyle.setFillBackgroundColor(HSSFColor.BLUE);

myCell.setCellStyle(myStyle);

Я считаю, что существует ограниченное количество стилей для данной книги; по возможности вы захотите повторно использовать тот же объект стиля.

[Edit: Извините, это было бы для установки цвета ячейки. Чтобы получить цвет, используйте:

myCell.getCellStyle().getFillBackgroundColor();

]

[Изменить 2: Глядя на информацию о пользовательском цвете, опубликованную Крейгом, возможно, вы можете попробовать:

HSSFColor.getIndexHash().get(myCell.getCellStyle().getFillBackgroundColor())

]

1
ответ дан 3 December 2019 в 21:22
поделиться

Чтобы получить цвет: Короткое значение, возвращаемое getFillBackgroundColor, - это индекс цвета в Excel. Вы можете получить цвет, соответствующий индексу в HSSFColor HashTable, используя последний указанный код RMorrisey.

Чтобы установить цвет: Вы создаете собственную палитру и меняете цвет по заданному индексу. Затем вы применяете цвет к стилю.

//creating a custom palette for the workbook
HSSFPalette palette = wb.getCustomPalette();
//replacing the standard red with freebsd.org red
palette.setColorAtIndex(HSSFColor.RED.index,
        (byte) 153,  //RGB red (0-255)
        (byte) 0,    //RGB green
        (byte) 0     //RGB blue
);
// or creating a new Color
HSSFColor myColor = palette.addColor((byte) 153, (byte) 0, (byte) 0); 
HSSFCellStyle style = wb.createCellStyle();

style.setFillForegroundColor(myColor);

С уважением

Гийом

5
ответ дан 3 December 2019 в 21:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: