Я использую JExcelApi для генерации файлов XLS. От jxl.format. Цвет, я вижу, как получить любой из цветов в "стандартной цветовой палитре Excel", но не, как создать новый цвет (скажите, учитывая его RGB).
Но в самом Excel, я могу выбрать любой цвет вообще.
Я просто пропускаю его? Существует ли путь в JExcelApi для выбора произвольного цвета? Я использую простой find-the-closest-standard-color метод прямо сейчас, который в порядке, но не замечателен.
Версии Excel до 2007 года имеют стандартную палитру, и, учитывая, что используемый вами API не поддерживает формат 2007, вы можете застрять с этим. Причина, по которой вы можете выбрать любой цвет, вероятно, заключается в том, что вы используете новую версию Excel.
Смотрите эту информацию на сайте Microsoft.
Я не понимаю, как вы можете переопределить стандартную палитру цветов в используемом вами API, но в Apache POI (который также позволяет писать файлы Excel) вы можете: смотрите по этой ссылке. В основном, вам нужно присвоить ячейкам определённые стандартные цвета (зелёный и т.д.); затем переопределить эти цвета любым нужным вам цветом.
.Способом переопределения индекса палитры в JExcel API является использование метода [setColourRGB][1] на рабочей книге, доступной для записи. Например:
myWorkbook.setColourRGB(Colour.LIGHT_TURQUOISE2, 14, 67, 89);
если вы хотите изменить значение цвета в записи палитры, где по умолчанию есть вторая светлая бирюза. Или, что проще в некоторых случаях, непосредственно с индексом палитры:
myWorkbook.setColourRGB(Colour.getInternalColour(myPaletteIdx), 14, 67, 89);
Небольшое обновление: только индексы от 8 до 64 могут быть настроены в соответствии с комментарием внутри исходного кода jxl.biff.PaletteRecord.
[1]: http://jexcelapi.sourceforge.net/resources/javadocs/current/docs/jxl/write/WritableWorkbook.html#setColourRGB(jxl.format.Colour, int, int, int)
.